2

可能重复:
为什么在这种情况下排序修改原始文件?

jsFiddle - 我有 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 回答