【发布时间】:2021-04-17 15:11:20
【问题描述】:
您知道是否有一种方法可以使用 sort() 方法对特定属性的对象数组进行排序?就我而言,我想先对数组进行“香蕉”排序,然后对“梨”进行排序。
const initialData = [
{ name: "strawberries", value: 12 },
{ name: "bananas", value: 3 },
{ name: "pears", value: 8 },
{ name: "pears", value: 7 },
{ name: "bananas", value: 10 },
{ name: "apples", value: 6 },
{ name: "bananas", value: 13 },
{ name: "bananas", value: 5 }
]
这就是我希望排序后的数据的样子:
const sortedData = [
{ name: "bananas", value: 3 },
{ name: "bananas", value: 10 },
{ name: "bananas", value: 13 },
{ name: "bananas", value: 5 },
{ name: "pears", value: 8 },
{ name: "pears", value: 7 },
{ name: "strawberries", value: 12 },
{ name: "apples", value: 6 }
]
我知道这个函数会对我的数据进行升序或降序排序:
initialData.sort(function(a, b) {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
});
【问题讨论】:
-
只需添加更多条件来测试 first 以获取返回 -1、1 或 0 的其他条件。
标签: javascript arrays sorting