我很抱歉发布这样的问题,但我真的很想知道这一点,我已经使用 Set、Map 或数组过滤方法来执行相同的操作,但当我拥有第一组带有键值的数组时,它会起作用但现在我想在没有任何键的情况下对第二个给定数组执行相同的操作。
const list = [{ x: 1, y: 2 },
{ x: 3, y: 4 },
{ x: 5, y: 6 },
{ x: 1, y: 2 }];
我想从以下数组中获取唯一元素,然后按降序对它们进行排序。
const list = [[1, 2 ],
[ 3, 4 ],
[ 5, 6 ],
[ 1, 2 ]];
谢谢
const set = new Set;
const result = list.reduce((r, {x, y}) => {
const key = `${x}.${y}`;
if(!set.has(key)){
r.push([x, y]);
set.add(key);
}
return r;
}, []).sort(([ax, ay], [bx, by]) => ax - bx || bx - by);
console.log(...result);
<script>
const list = [{ x: 1, y: 2 },
{ x: 5, y: 6 },
{ x: 1, y: 2 },
{ x: 3, y: 4 },
];
</script>