function compare(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
}
let obj1=[{num:3},{num:2},{num:5}];
console.log(obj1);
let obj2=obj1.sort(compare("num"));
console.log(obj1)
我觉得第一次打印结果应该是3 2 5,执行排序之后 ,第二次打印 应该是2 3 5
。但是结果如下:
一脸懵逼0.0 有没有大神可以指点一下?
控制台打印的是动态的,你打的是引用类型,你看的时候已经排序完了,当然是排序后的结果,你排序前debugger一下或者JSON.parse(JSON.stringify(data))输出你排序前的结果就对了