效果
- 结合数组的索引方法及 sort 方法,按照既定顺序(非升序或降序)排序
- 如下示例,type 属性按照 3 → 4 → 2 → 1 → 5 的顺序进行排序
代码
// 获取原本的数组
getList() {
this.tableData = [];
axios.get("/list2").then((res) => {
console.log("res", res);
if (res.status == 200) {
this.tableData = res.data;
this.tableSortData = this.sortDataFunc(this.tableData);
console.log(this.tableData, this.tableSortData);
}
});
},
// 排序方法
sortDataFunc(totalArr) {
let resultArr = [];
let _this = this;
// 先过滤一遍,拿到符合的数据
resultArr = totalArr.filter((item) => {
return _this.sortArr.includes(item.type);
});
// 获取行数据关键属性在排序数组中的索引
function getIndex(str) {
return _this.sortArr.indexOf(str);
}
// 使用 sort 方法针对索引进行排序
resultArr.sort((a, b) => {
return getIndex(a.type) - getIndex(b.type);
});
return resultArr;
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。