根据数组中对象的某个属性值进行排序
一个对象数组,单个对象里某个属性是数字,需要按这个属性的数字大小升序排序。
背景: 项目表单根据编号id进行排序
代码:
var arr = [
{ id: 1, message: "我是1" },
{ id: 3, message: "我是3" },
{ id: 2, message: "我是2" },
{ id: 6, message: "我是6" },
{ id: 4, message: "我是4" },
{ id: 5, message: "我是5" }
]
function setArray(arr) {
arr.sort(compare('id'));
console.log(arr);
return arr;
}
function compare(property) {
return function (a, b) {
return a[property] - b[property];
}
}
setArray(arr);
输出: