有时你需要在数组末尾添加一个或多个新的值。在这种情况下,你需要使用 push()
方法。
push()
方法将在 JavaScript 的数组末尾添加一个或多个参数:
let arr = [0, 1, 2, 3];
arr.push(4);
console.log(arr); // [0, 1, 2, 3, 4]
这个方法接受无限数量的参数,你可以在数组的末尾添加任意数量的元素。
let arr = [0, 1, 2, 3];
arr.push(4, 5, 6, 7, 8, 9);
console.log(arr); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
push()
方法也返回新数组的长度。
let arr = [0, 1, 2, 3];
let newLength = arr.push(4);
console.log(newLength); // 5
在 JavaScript 中使用 push
的示例和常见错误
如何重新使用数组赋值
常见的错误是使用 push
的输出将数组重新赋值。
let arr = [0, 1, 2, 3];
arr = arr.push(4);
console.log(arr); // 5
为了避免这个错误,你需要记住,push
更改了数组,并返回了新的长度。如果使用 push()
的返回值重新分配变量,则将覆盖数组值。
如何将一个数组的内容添加到另一个数组的末尾
如果要将数组的内容添加到另一个数组的末尾,则可以使用 push
方法。push
将把你输入的任何参数作为新元素添加到数组末尾。必须使用扩展运算符将数组分拆,再把它的元素添加到另一个数组末尾:
let arr1 = [0, 1, 2, 3];
let arr2 = [4, 5, 6, 7];
arr1.push(...arr2);
console.log(arr1); // [0, 1, 2, 3, 4, 5, 6, 7]
如何在类似数组的对象上使用 push
有些对象与数组相似(例如 arguments
对象——允许访问函数的所有参数的对象),但不具有数组具有的所有方法。
为了能够在这些方法上使用 push
或其他数组方法,首先必须将它们转换为数组。
function myFunc() {
let args = [...arguments];
args.push(4);
returns args;
}
console.log(myFunc(0, 1, 2, 3)); // [0, 1, 2, 3, 4]
如果不先将类似数组的 arguments
对象更改为数组,则代码将报错:TypeError: arguments.push is not a function
。
结语
如果你使用数组,请理解清楚 push
的用法。它在数组的末尾添加一个或多个元素,并返回该数组的新长度。
原文:JavaScript Append to Array: a JS Guide to the Push Method,作者:Ilenia Magoni