使用arr.push vs arr.push.apply(arr,element)

时间:2016-12-31 03:45:06

标签: javascript

我主要使用它:

arr.push(element)

但我看到有人这样使用:

arr.push.apply(arr, element)

这两种方法有什么不同?

1 个答案:

答案 0 :(得分:3)

我认为在使用" list"时更常见。使用apply时,可以将数组拆分为单个参数。

例如:

arr.push(0,1,2,3)

就像这样做,但初始值在数组中:

arr.push.apply(this, [0,1,2,3])

这是一个正在运行的例子:



var original = [1,2,3];
var arr = [];

arr.push(0);
arr.push.apply(arr, original); // pushes all the elements onto the array

console.log(arr); // 0,1,2,3




但是,在ES6中,您甚至不需要使用apply



let original = [1,2,3];
let arr = [];

arr.push(0, ...original);

console.log(arr); // 0,1,2,3