这是我想要做的一个示例
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())
并不太适用。
apply
用法,将一个数组的所有成员加1并推入另一个数组。 - meouwx.push(y)
的意思是“使用作用域x
和参数[y]
调用函数x.push
”。在这种情况下,x.push
解析为Array.prototype.push
,因此:Array.prototype.push.apply(x, [y])
。我之所以提到第二种形式,是因为有时仅引用一次x
更可取。 - emulbrehx.push.apply(x, y)
对我很有帮助,特别是第二个x
,尽管我不明白为什么要这样写。 - Barbz_YHOOL