0

新しい配列に連結する必要がある配列がいくつかあります。私はこれをやっています:

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常に空です。足りないものはありますか?

4

2 に答える 2

3

ローカル パラメーターに新しい配列を割り当てています。
これは、パラメーターとして渡した変数には影響しません。

次のように、(新しい配列を作成するのではなく) 既存の配列インスタンスに配列を追加できます。

Array.prototype.push.apply(oldArray, newArray);
于 2012-09-10T16:10:17.893 に答える
3

.concat()既存の配列のメソッドを使用して、配列を直接連結できます。どのメソッドを記述しようとしているのか正確にはわかりませんが、配列が 3 つある場合は、次のように組み合わせることができます。

var a = [1,2,3];
var b = [4,5,6];
var c = [7,8,9];

var d = a.concat(b,c);   // creates [1,2,3,4,5,6,7,8,9]

作業例: http://jsfiddle.net/jfriend00/N4ews/

このarray.concat()メソッドは、配列に追加する個々の要素または配列のいずれかを取ります。配列を渡すと、配列をループしてすべての要素を取得します。配列の詳細については、 MDN のドキュメントを参照してください。.concat()

于 2012-09-10T16:18:43.863 に答える