在处理数据的过程中,我们经常会遇到这样的需求:根据数组中每个对象的某个字段值将数组排序展示。如何实现呢?如下:
1、字段的值是个可比较的,例如下面的age字段
```javascript
[
{
name: '张三',
age: 18,
status: '青年'
},
{
name: '李四',
age: 20,
status: '青年'
},
{
name: '赵五',
age: 50,
status: '老年'
}
].sort(function(a,b){
return a.age-b.age
})
结果如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210629170219480.png)
2、字段的值不能直接比较,例如此处我想按照老年在前,别的在后排列(忽略跟年龄有关),那么可以如下实现:
```javascript
[
{
name: '张三',
age: 18,
status: '青年'
},
{
name: '李四',
age: 20,
status: '青年'
},
{
name: '赵五',
age: 50,
status: '老年'
}
].sort(function(a,b){
return a.status==='老年'?-1:1
})
效果如下: