js对数组元素对象按属性进行排序
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2020-09-19 17:22:10
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
示例代码如下
/** * 定义一个比较器 * @param propertyName * @param sortType * @returns {function(...[*]=)} */ function compare(propertyName, sortType) { return function (object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; if (sortType === 'asc') { if (value2 > value1) { return -1; } else if (value2 < value1) { return 1; } else { return 0; } } else { if (value2 < value1) { return -1; } else if (value2 > value1) { return 1; } else { return 0; } } } } /** * 对数组使用元素里的一个属性值排序 * @param arr * @param propertyName 属性名字,值为数字 * @param sortType 默认desc * @returns {*} */ function sortArray(arr, propertyName, sortType) { return arr.sort(compare(propertyName, sortType)); } //定义一个对象数组 var data = [{name: "jiang", age: 22}, {name: "AAAAAAAAAAAAAA", age: 21}, {name: "CCCCCCCCc", age: 25}]; sortArray(data,'age','desc') sortArray(data,'age','asc')