话不多说,上代码
原数组格式
[{name: "xx",value: 56},{name: "xx",value: 56},{name: "xx",value: 56},{name: "xx",value: 56}]
定义一个方法compare()进行比较,如果比较的数据用的是字符串类型,需要转换为Number类型
compare(参数是对应要比较的key值),
然后调用数组的sort方法对数组进行从小到大排序,之后调用reverse()方法反转数组,实现从大到小。
var compare = function (prop) {
return function (obj1, obj2) {
var val1 = obj1[prop];
var val2 = obj2[prop];
if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
val1 = Number(val1);
val2 = Number(val2);
}
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
let temparr = datas.sort(compare("value")).reverse()