// 排序
// list:排序列表数据 Array
// keyName: 排序按照的关键字 String
// reverseOrder: 是否降序排序,默认升序 Boolean
export function sort(list, keyName, reverseOrder) {
const result = [];
if (!reverseOrder) {
for (let i = 0; i < list.length; i++) {
if (i === 0) {
result.push(list[i]);
continue;
}
for (let j = 0; j < result.length; j++) {
if (list[i][keyName] > result[j][keyName] && (j + 1 === result.length || list[i][keyName] < result[j + 1][keyName])) {
result.splice(j + 1, 0, list[i]);
break;
} else if (list[i][keyName] < result[0][keyName]) {
result.splice(0, 0, list[i]);
break;
}
}
}
} else {
for (let i = 0; i < list.length; i++) {
if (i === 0) {
result.push(list[i]);
continue;
}
for (let j = 0; j < result.length; j++) {
if (list[i][keyName] < result[j][keyName] && (j + 1 === result.length || list[i][keyName] > result[j + 1][keyName])) {
result.splice(j + 1, 0, list[i]);
break;
} else if (list[i][keyName] > result[0][keyName]) {
result.splice(0, 0, list[i]);
break;
}
}
}
}
return result;
}
js 排序(升、降序)函数封装
最新推荐文章于 2023-04-10 11:45:11 发布