以对象数组的某个属性值对整个数组进行升序或降序排序,调用自定义函数 ascendSort 和 descendSort 对对象数组的升序排序和降序排序。
样例输入
const cups = [
{
type: 1,
price: 100,
color: 'black',
sales: 3000,
name: '牛客logo马克杯'
},
{
type: 2,
price: 40,
color: 'blue',
sales: 1000,
name: '无盖星空杯'
},
{
type: 4,
price: 60,
color: 'green',
sales: 200,
name: '老式茶杯'
},
{
type: 3,
price: 50,
color: 'green',
sales: 600,
name: '欧式印花杯'
}
]
样例输出
(1) 升序排序
[
{
"type": 4,
"price": 60,
"color": "green",
"sales": 200,
"name": "老式茶杯"
},
{
"type": 3,
"price": 50,
"color": "green",
"sales": 600,
"name": "欧式印花杯"
},
{
"type": 2,
"price": 40,
"color": "blue",
"sales": 1000,
"name": "无盖星空杯"
},
{
"type": 1,
"price": 100,
"color": "black",
"sales": 3000,
"name": "牛客logo马克杯"
}
]
(2) 降序排序
[
{
"type": 1,
"price": 100,
"color": "black",
"sales": 3000,
"name": "牛客logo马克杯"
},
{
"type": 2,
"price": 40,
"color": "blue",
"sales": 1000,
"name": "无盖星空杯"
},
{
"type": 3,
"price": 50,
"color": "green",
"sales": 600,
"name": "欧式印花杯"
},
{
"type": 4,
"price": 60,
"color": "green",
"sales": 200,
"name": "老式茶杯"
}
]
代码实现
(1) 升序排序
function ascendSort(arr, key){
let res = arr.sort((a, b) => a[key] - b[key]);
return res;
}
(2) 降序排序
function descendSort(arr, key){
let res = arr.sort((a, b) => b[key] - a[key]);
return res;
}
使用
ascendSort(cups, “sales”);
descendSort(cups, “sales”);