JS使用sort函数对复制的数组排序,发现原数组也被排序了

nums=[10,3,8,9,4];
var num2=nums;
num2.sort((a,b)=>b-a);

会发现nums和num2的结果是相同的,都是排序后的数组 [10,9,8,4,3]

这是因为:进行对象赋值的时候,赋值的是对象的引用,改变复制后的数组会影响到原来的变量的值

解决办法:

var num2=nums.slice(0);

https://leetcode-cn.com/problems/relative-ranks/

posted @ 2020-03-31 12:12  ccv2  阅读(1023)  评论(0编辑  收藏  举报