gpt4 book ai didi

javascript - JS中如何返回所有具有相同值的重复对象?

转载 作者:行者123 更新时间:2023-11-28 03:31:21 24 4
gpt4 key购买 nike

有没有一种聪明的方法可以让所有对象具有相同的值?

[
{ name: 'a' , value: '123'},
{ name: 'b' , value: '123'},
{ name: 'c' , value: '1234'},
{ name: 'd' , value: '1234'},
{ name: 'e' , value: '12345'},
{ name: 'f' , value: '123456'}
]

理想的结果是:

[
{ name: 'a' , value: '123'},
{ name: 'b' , value: '123'},
{ name: 'c' , value: '1234'},
{ name: 'd' , value: '1234'}
]

我正在考虑计算所有值的出现次数,但这似乎不是一个好方法。

欣赏!

最佳答案

您可以使用一个Map并根据 map 的值过滤数组。

var array = [{ name: 'a' , value: '123' }, { name: 'b' , value: '123' }, { name: 'c' , value: '1234' }, { name: 'd' , value: '1234' }, { name: 'e' , value: '12345' }, { name: 'f' , value: '123456' }],
counts = array.reduce((m, { value }) => m.set(value, m.has(value)), new Map),
result = array.filter(({ value }) => counts.get(value));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - JS中如何返回所有具有相同值的重复对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58154150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com