位noobie问题,但是我有一个看起来像这样的数组:
[["john",13],
["jack",12],
["judy",14],
["john",18]]
如果名称重复,我想删除得分最高的元素,使其看起来像这样:
[["john",13],
["jack",12],
["judy",14]]
在这种情况下,删除重复项的标准方法不起作用,我只是想知道是否有人知道该怎么做?
预先感谢
答案 0 :(得分:1)
您可以使用reduce
方法和Map
来获取唯一值,然后可以使用扩展语法来获取数组数组。
const data = [["john",13], ["jack",12], ["judy",14], ["john",18]]
const result = data.reduce((r, [k, v]) => {
if(!r.get(k) || v < r.get(k)) r.set(k, v)
return r;
}, new Map)
console.log([...result])