数组根据key值排序
//封装一个数组排序方法
function compare(key, desc) {//key: 用于排序的数组的key值; desc: 布尔值,为true是升序排序,false是降序排序
return function(a, b) {
let value1 = a[key];
let value2 = b[key];
if (desc == true) {
// 升序排列
return value1 - value2;
} else {
// 降序排列
return value2 - value1;
}
};
}
//调用
arr.sort(compare('age',false));
以上代码来源:js:数组对象按key值进行升序降序排序
// 升序
quickFun(params) {
//当进行递归的数组的长度小于等于 1 的时候直接返回该数组
if (params.length <= 1) {
return params;
}
let middleIndex = Math.floor(params.length / 2); //获取基准数据的下标
let middleItem = params.splice(middleIndex, 1)[0]; //截取基准数据
let leftArr = [];
let rightArr = [];
for (let k = 0; k < params.length; k++) {
if (params[k].y > middleItem.y) { //切换比较对象
rightArr.push(params[k]);
} else {
leftArr.push(params[k]);
}
}
return this.quickFun(leftArr).concat(middleItem, this.quickFun(rightArr)); //将左边数组,基准数据和右边数组进行拼接成一个完整的数组
},
//使用
result = vm.quickFun(result)