js sort排序的时候也会对原数组排序的解决办法

该文章由 leevare 发布于 ,归类于 Javascript

看如下例子

var a = [1,3,2];
var b = a;
b.sort();
console.log(a);//[1,2,3]
console.log(b);//[1,2,3]

a赋值给b,当对数组b排序的时候,数组a也同时进行了排序,这是由于对对象进行赋值的时候,赋值的其实是一个引用。

那么,怎么解决这个问题呢,让其排序是不修改原数组,如下方式即可, 这表示b为另外一个对象,并不是数组a的引用,那么上面的这个问题就不存在了。

var b = a.slice(0);

也可以使用es6的语法完成数组的复制

let b = [...a]
//或者
let [...b] = a

参考地址:https://segmentfault.com/q/1010000000607136

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒