js数组方法sort()的一个小认知

57 阅读1分钟

1.png
这里我定义一个数组,然后让arr1=arr,接着对arr1进行sort()排序,排序完后 输出arr和arr1,发现arr原始数组也被排序了造成这个结果的根本原因是这两个数组指向同一个内存地址。

2.png

要想避免这种情况,只能让arr1=[].concat(arr),这样也会将arr复制给arr1,但是内存地址不一样,所以在将arr1排序后,arr本身是不会变化的