我有几个阵列需要结合成一个新阵列。我正在这样做:

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);

08-06 03:10