js数组中根据对象属性排序
时间: 2023-10-03 12:04:11 浏览: 90
JavaScript对象数组如何按指定属性和排序方向进行排序
5星 · 资源好评率100%
可以使用`Array.prototype.sort()`方法结合比较函数来根据对象属性排序。比较函数应该返回一个负数、0或正数,表示第一个参数应该排在前还是后。
例如,如果你想根据对象的`age`属性进行排序,可以这样写:
```javascript
const arr = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 }
];
arr.sort((a, b) => a.age - b.age);
console.log(arr);
// [{ name: 'Charlie', age: 20 }, { name: 'Alice', age: 25 }, { name: 'Bob', age: 30 }]
```
这个比较函数将返回负数、0或正数,取决于`a.age`和`b.age`之间的大小关系。如果`a.age`小于`b.age`,则返回负数,告诉`sort()`方法将`a`排在`b`前面;如果它们相等,则返回0,保持不变;如果`a.age`大于`b.age`,则返回正数,告诉`sort()`方法将`a`排在`b`后面。
你可以根据需要修改比较函数来排序其他属性。
阅读全文