js 对象列表按某一属性大小排序
时间: 2023-08-02 20:33:36 浏览: 157
js 根据对象数组中的属性进行排序实现代码
可以使用JavaScript中的sort()方法对对象列表按某一属性大小进行排序。假设我们有一个对象列表,每个对象包含name和age属性,现在要按照age属性从小到大排序,可以这样实现:
```javascript
var list = [
{ name: 'Tom', age: 20 },
{ name: 'Jerry', age: 18 },
{ name: 'Mike', age: 25 },
{ name: 'John', age: 22 },
{ name: 'Lucy', age: 19 }
];
list.sort(function(a, b) {
return a.age - b.age;
});
console.log(list);
```
在上述代码中,我们使用sort()方法对list进行排序,其中传入一个比较函数,该函数接受两个参数a和b,分别表示待排序的两个对象。比较函数需要返回一个数值,如果a应该排在b的前面,则返回负数;如果a应该排在b的后面,则返回正数;如果a和b相等,则返回0。在本例中,我们根据age属性从小到大排序,因此比较函数返回a.age - b.age。
排序后,我们可以通过console.log()方法输出排序后的列表。
需要注意的是,sort()方法会改变原数组,因此如果不想改变原数组,需要先对原数组进行复制再进行排序。另外,如果需要按照其他属性或者其他排序方式进行排序,只需要修改比较函数即可。
阅读全文