我有几个阵列需要结合成一个新阵列。我正在这样做:
function ConcatArrays() {
var TheNewArray = [];
function TheConcat(TheArray) { TheNewArray = TheNewArray.concat(TheArray); }
for (var i = 0; i < SomeArrayOfObjects.length; i++) {
if (SomeCondition) { TheConcat(SomeArrayOfObjects[i]); }
}
}
由于某些原因,
TheNewArray
始终为空。有什么我想念的吗? 最佳答案
您正在为本地参数分配一个新数组。
这不会影响您作为参数传递的变量。
您可以将数组添加到现有数组实例中(而不是创建新数组),如下所示:
Array.prototype.push.apply(oldArray, newArray);