これを私に説明してください。 forループを使って配列の配列を作成しようとしています。それがうまくいかなかったとき、Javascriptが何をしているのかを理解するためにコードを単純化しようとしましたが、単純なコードも意味をなさない。Javascript:forループを使って配列に配列をプッシュ
function test(){
var sub_array = [];
var super_array =[];
for (var i=1;i<=3;i++){
sub_array.push(i);
super_array.push(sub_array);
}
alert(super_array);
}
[1; 1,2; 1,2,3]。 代わりに[1,2,3; 1,2,3; 1,2,3]。 0-2をループしてインデックスで割り当てると同じ現象が発生します。
なぜ '.slice(0)'を使って '.concat()'ではなくArrayをコピーしたのですか?それは速いかもしれませんが、プロファイリングは私には分かりませんでした。 –
興味深いことに、[このブログ](http://swingpants.com/2009/03/12/fastest-way-to-copy-an-array-concat-or-slice0/) 'concat()'は高速です。私は私の答えでそれを言及します。あなたのコメントをありがとう:) –