【发布时间】:2016-09-03 03:08:04
【问题描述】:
我有一个这样的数组:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}, {
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}]
我正在尝试使用以下条件创建一个新数组:
- 获得每个号码 (
array.number) 的最高评分 (array.rating.average)
输出应该是:
[{
"number": "4",
"fileName": "fileXX",
"rating": {
"average": 6.4
}
}, {
"number": "3",
"fileName": "fileXX",
"rating": {
"average": 5.4
}
}
}]
我刚刚设法按最高评分排序:
array.sort(function(a , b) {
return a.rating.average - b.rating.average;
});
array.reverse();
但是,现在,我只想要每个重复的 array.number 一个对象,保留具有最高 array.rating.average 的对象。
【问题讨论】:
-
你能告诉我们你的尝试吗?
-
因为 3 和 4 的平均评分相同。为什么选择数字 3 而不是 4?
-
@SamuelToh 我想要一个包含每个最高评级“数字”的数组。
-
@westefan 我已经浏览了这 2 个网址,并且它们都与我正在尝试做的事情有不同的结果。
标签: javascript arrays sorting