将多个元素推送到数组

2022-08-29 23:19:19

我试图将多个元素作为一个数组推送,但收到错误:

> a = []
[]
> a.push.apply(null, [1,2])
TypeError: Array.prototype.push called on null or undefined

我正在尝试做类似的事情,就像我在ruby中所做的那样,我想这就像.apply*

>> a = []
=> []
>> a.push(*[1,2])
=> [1, 2]

答案 1

您可以通过以下方式将多个元素推送到数组中

var a = [];
    
a.push(1, 2, 3);

console.log(a);

答案 2

现在,在 ECMAScript2015(又名 ES6)中,您可以使用 spread 运算符一次追加多个项目:

var arr = [1];
var newItems = [2, 3];
arr.push(...newItems);
console.log(arr);

请参阅Kangax的ES6兼容性表,了解哪些浏览器兼容