這裏是我想要做的添加兩個數組,而無需使用concat方法
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 – meouw 2011-03-09 01:47:13
我以前見過的適用方法,但從來沒有真正瞭解它(注意自我需要研究應用),但它確實是一種簡潔的做我想做的事情的方式。第二種方法與第一種方法有什麼不同?使用Array.prototype而不是x.push.apply。 – qw3n 2011-03-09 01:55:30
兩者都相同。調用'x.push(y)'意味着「調用函數'x.push',其範圍爲'x',參數'[y]',在這種情況下'x.push'解析爲'Array.prototype.push' ,因此:'Array.prototype.push.apply(x,[y])'。我只提到了第二種形式,因爲它有時最好只引用'x'一次。 – emulbreh 2011-03-11 18:10:13