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/

猜你喜欢

转载自www.cnblogs.com/ccv2/p/12604271.html