0.前言
工作中遇到一个需求,需根据从接口拿的json数据,按照某个字段进行排序。比如时间,或者序号等。原始数据如下,需要根据regionCode进行排序。

1.解决办法
上学的时候学过好几种排序算法,但是在实际应用中还是sort比较香。也很简单,直接上代码。
getAll(){
var res =this.result;
res.sort(this.sortRegionCode)
console.log(res)
}
//按照regionCode进行排序
sortRegionCode(a,b){
return a.regionCode -b.regionCode
}
其中res和result是返回的json数据,拍完序之后的结果如下:

可以看出,已经按照regionCode的顺序进行排序了。
2.第二种方法
/**
* 排序共通
* @param sortName 排序字段名称
* @param sortValue 排序顺序 descend ascend null
* @param list 排序数组
* @param sortType 排序类型待扩展
*/
doSort(sortName: string, sortValue: string, list: any[], sortType?: string): [] {
const copyList = JSON.parse(JSON.stringify(list));
if (sortName && sortValue) {
return copyList.sort((a, b) => {
return sortValue === 'ascend' ? (a[sortName!] > b[sortName!] ? 1 : -1) : b[sortName!] > a[sortName!] ? 1 : -1;
});
} else {
return copyList;
}
}
返回目录:前端