使用Javascript中的sort()方法,结合自定义的比较函数来按照指定字段对对象数组进行排序。
例如,有一个包含对象的数组,每个对象都有"id"和"name"字段,我们要按照"id"字段升序排列:
let arr = [
{id: 3, name: 'A'},
{id: 1, name: 'B'},
{id: 2, name: 'C'}
];
arr.sort(function(a, b) {
return a.id - b.id;
});
console.log(arr);
输出结果为:
[{id: 1, name: 'B'}, {id: 2, name: 'C'}, {id: 3, name: 'A'}]
同样地,如果要按照"name"字段进行排序,只需要将排序函数修改为:
arr.sort(function(a, b) {
if (a.name < b.name) {
return -1;
} else if (a.name > b.name) {
return 1;
} else {
return 0;
}
});
console.log(arr);
输出结果为:
[{id: 3, name: 'A'}, {id: 1, name: 'B'}, {id: 2, name: 'C'}]