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

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

我试图做类似的事情,我在ruby中做,我认为应用是类似*的东西。

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

当前回答

一次推入多个对象通常取决于如何声明数组。

我就是这么做的

//declaration
productList= [] as  any;

现在推送记录

this.productList.push(obj.lenght, obj2.lenght, items);

其他回答

作为一种选择,你可以使用Array.concat:

var result = a.concat(b);

这将创建并返回一个新数组,而不是将项推入同一个数组。如果您不想修改源数组,而是要对其进行浅拷贝,那么它可能很有用。

更简单的方法是

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

另一种方法是

a = [...a, 4,5,6]

如果你想创建另一个数组

const b = a.concat(7,8,9)

如果你想添加多个项目,你可以使用Array.push()和展开操作符:

a = [1,2]
b = [3,4,5,6]
a.push(...b)

结果将是

a === [1,2,3,4,5,6]

可以按以下方法将多个元素推入数组

Var a = []; A.push (1,2,3); console.log(一个);

当使用apply或call使用对象的大多数函数时,context参数必须是您正在处理的对象。

在这种情况下,你需要。推一把。apply(a,[1,2])(或者更准确地说是Array.prototype.push。应用(a [1, 2]))