js数组按照其中某个字段进行排序
时间: 2023-07-26 22:16:17 浏览: 99
jquery对象排序
5星 · 资源好评率100%
可以使用`Array.sort()`方法来排序,结合比较函数可以按照其中某个字段进行排序。比如按照数组中每个对象的`age`属性进行升序排序,可以这样写:
```javascript
var arr = [{name: '张三', age: 20}, {name: '李四', age: 18}, {name: '王五', age: 25}];
arr.sort(function(a, b) {
return a.age - b.age;
});
console.log(arr); // 输出 [{name: '李四', age: 18}, {name: '张三', age: 20}, {name: '王五', age: 25}]
```
如果要降序排序,只需要将比较函数中的`a`和`b`交换位置即可:
```javascript
var arr = [{name: '张三', age: 20}, {name: '李四', age: 18}, {name: '王五', age: 25}];
arr.sort(function(a, b) {
return b.age - a.age;
});
console.log(arr); // 输出 [{name: '王五', age: 25}, {name: '张三', age: 20}, {name: '李四', age: 18}]
```
注意,如果要按照字符串类型的字段进行排序,需要使用`localeCompare()`方法进行比较。例如,按照数组中每个对象的`name`属性进行升序排序,可以这样写:
```javascript
var arr = [{name: '张三', age: 20}, {name: '李四', age: 18}, {name: '王五', age: 25}];
arr.sort(function(a, b) {
return a.name.localeCompare(b.name);
});
console.log(arr); // 输出 [{name: '李四', age: 18}, {name: '王五', age: 25}, {name: '张三', age: 20}]
```
阅读全文