/**
* @author lp
* @desc 数组对象排序
* sort会改变原数据,无需return
* @param {arr:需要排序数据,column:参与排序字段,order:asc正序,desc倒叙}
* @return {}
*/
export function arrObjSort(arrObj, column, order) {
//转换大写
order = order.toUpperCase();
//正序
if (order == "ASC") {
arrObj = arrObj.sort((a, b) => { return Number(a[column]) - Number(b[column]) })
}
//倒叙
if (order == "DESC") {
arrObj = arrObj.sort((a, b) => { return Number(b[column]) - Number(a[column]) })
}
}
//方法测试
let arrObj = [
{ name: "张四", age: "19" },
{ name: "张三", age: "20" },
{ name: "张一", age: "25" },
{ name: "张二", age: "24" },
]
arrObjSort(arrObj, 'age', 'desc');
console.log('数据:', arrObj);
最近开发的vue前端项目中,有很多地方有数组对象排序的需求,就封装了一个公用方法,方便页面调用。使用的就是数组的sort 方法。
封装的数组对象排序方法,sort会改变原数据,不用return 数据 !
返回数据: