有一个对象数组有如下有两个属性:
重复的名字里只保留一个分数最高的
let obj = [
{名字: 小明, 分数: 100},
{名字: 小明, 分数: 98},
{名字: 小红, 分数:100},
{名字: 小白, 分数: 100},
{名字: 小红, 分数:95},
]
let obj = [
{名字: 小明, 分数: 100},
{名字: 小红, 分数:100},
{名字: 小白, 分数: 100},
]
有一个对象数组有如下有两个属性:
重复的名字里只保留一个分数最高的
let obj = [
{名字: 小明, 分数: 100},
{名字: 小明, 分数: 98},
{名字: 小红, 分数:100},
{名字: 小白, 分数: 100},
{名字: 小红, 分数:95},
]
let obj = [
{名字: 小明, 分数: 100},
{名字: 小红, 分数:100},
{名字: 小白, 分数: 100},
]
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.2k 阅读✓ 已解决
7 回答2.1k 阅读
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
就很好奇,js 话题下总有层出不穷的数组/JSON 遍历/查找/转化的问题。
问题模板里不是有几个项么?自己做过什么尝试?都给提问者删了。
好的问题是要问到根本上,让人一眼看出你疑惑的点是什么。同样的,好的回答是要能授人以渔,而不是甩一段能解决这个问题的代码不管你是否理解就完事。
这次的 obj 可能长这样,下次的可能是另外的样子;这次的需求是保留一个分数最高的,下次可能是用数组保存这个人的所有分数, 又或者是统计相同名字分数一共是多少。需求场景天天变,有扎实的基本功才能以不变应万变。
回到问题,你如果稍微懂一点 SQL,应该知道这个就类似于 group by 加 max。JS 数组没有 groupBy 方法,我们可以自己实现一个,然后做一下 max 就ok了。