这是我想做的一个例子
function test(r){
var arr = ['d','e','f'];
r.push(arr);
/*
More Code
*/
return r;
}
var result = test(['a','b','c']);
alert(result.length);//I want this to alert 6
我需要做的是传入一个数组并将其他数组附加到它的末尾,然后返回该数组。由于通过引用传递,我不能使用 array.concat(array2);
。有没有一种方法可以做到这一点,而无需使用类似 for 循环的方法来逐个添加元素。我尝试了 r.push(arr.join());
之类的方法,但这也不起作用。另外,我想要在数组中包含对象的选项,所以 r.push(arr.join());
不能很好地工作。
最佳答案
>>> var x = [1, 2, 3], y = [4, 5, 6];
>>> x.push.apply(x, y) // or Array.prototype.push.apply(x, y)
>>> x
[1, 2, 3, 4, 5, 6]
或者使用 destructuring你现在可以这样做了
//generate a new array
a=[...x,...y];
//or modify one of the original arrays
x.push(...y);
关于javascript - 不使用 concat 方法添加两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5240335/