有时我们需要按照对象中的某个键的值进行排序。这可以通过使用JavaScript中的Array.sort()和比较函数来实现。比较函数接受两个参数(a和b)并返回一个负数、零或正数,表示a应该排在b的前面、a和b位置相同或a应该排在b的后面。我们可以使用以下代码按对象键值排序:
var arr = [{name: 'John', age: 25}, {name: 'Jane', age: 24}, {name: 'Bob', age: 29}];
arr.sort(function(a, b) {
return a.age - b.age;
});
console.log(arr); // [{name: 'Jane', age: 24}, {name: 'John', age: 25}, {name: 'Bob', age: 29}]
在上面的代码中,我们使用sort()方法对对象数组进行排序。在比较函数中,我们使用a.age-b.age来比较对象的年龄属性,并按升序排列。如果我们想按降序排列,我们只需要改变比较函数:
arr.sort(function(a, b) {
return b.age - a.age;
});
console.log(arr); // [{name: 'Bob', age: 29}, {name: 'John', age: 25}, {name: 'Jane', age: 24}]
上面代码中,我们使用b.age - a.age来比较对象属性并按降序排列。
上一篇:按键值排序的jq
下一篇:按键值排序返回Map的值