これは簡単な質問のようですが、これに関する多くの情報は見つかりません。array.sortの結果を別の変数に格納する
var array1 = new Array(4, 3, 1, 2, 0, 5);
var array2 = array1;
array2.sort(function(a, b) {
return a - b;
})
予想される動作:配列2は、ソートされARRAY1 4.
実際の結果で始まる元の順序になっている。両方のアレイがソートされます。
array1を整理し、sort2の結果をarray2に保存している間、array1をどのように並べ替えることができますか?私はarray2 = array1
をやっていると、それを参照するのではなく、変数をコピーすると思った。しかし、Firefoxのコンソールでは、両方の配列がソートされて表示されます。
'VARの配列2 = array1.slice(); ' – Tushar
元の配列をコピーするのではなく、元の配列を参照するデフォルトの動作はなぜですか? – tomysshadow
http://stackoverflow.com/questions/7486085/copying-array-by-value-in-javascriptいくつかのメソッドは参照を変更していますが、新しい配列を作成するものもあります。配列のドキュメントを確認してください。 –