2

重複の可能性:
この場合、並べ替えによってオリジナルが変更されるのはなぜですか?

jsFiddle - 2 つの配列があります。2 番目の変数を最初の変数のソート済みバージョンに設定したいと考えています。

var _myArray = ["N","T","A","W","Z","X"];
var _array02 = _myArray.sort();

document.write(_myArray+'<br>'+_array02);

何が起こるべきか:N,T,A,W,N,X<br>A,N,T,W,X,Z

代わりに何が起こるか:A,N,T,W,X,Z<br>A,N,T,W,X,Z

これはJSの設計によるものですか?もしそうなら、どうすれば私が望むものを達成できますか?

4

1 に答える 1

5

sort()配列をその場でソートします。元の配列を変更しない場合は、コピーを並べ替えます。

var _myArray = ["N","T","A","W","Z","X"];
var _array02 = _myArray.slice().sort();

_myArray +'\n'+_array02

/*  returned value: (String)
N,T,A,W,Z,X
A,N,T,W,X,Z
*/
于 2013-01-29T18:56:33.107 に答える