在设置变量时对数组进行排序后,原始数组也会被排序

Sei*_*Sys 2 javascript arrays sorting

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

jsFiddle - 我有2个数组.我想将第二个变量设置为第一个变量的排序版本.

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

document.write(_myArray+'<br>'+_array02);
Run Code Online (Sandbox Code Playgroud)

会发生什么: 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的设计,如果是这样,我如何实现我想要的?

ken*_*bec 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
*/
Run Code Online (Sandbox Code Playgroud)