gpt4 book ai didi

javascript - 在 ES6 中返回对象数组中唯一的字段集

转载 作者:行者123 更新时间:2023-11-28 17:01:02 25 4
gpt4 key购买 nike

我有一个数组:

animals = [
{name:"Dog", color_id:1, color:"Red" ....},
{name:"Cat", color_id:2, color: "Blue"....},
{name:"Fish", color_id:3, color:"Purple"...},
{name:Mouse, color_id:2, color:"Blue" ...}
]

我需要返回一个具有唯一颜色的列表:

colorList = [{value:1, label:"Red"}, {value:2, color:"Blue"}, {value:3, color:"Purple"}] 

我这样做,但它不会返回唯一的 ID

animals.forEach(function(currAnimal){
var i = propertyTypeOptions.findIndex(animals => animals.value == colorList.value);
if(i <= -1){

propertyTypeOptions.push({value: currAnimal.color_id, label: currAnimal.color});
}
})

最佳答案

因为看起来每种颜色都一对一地映射到 color_id,所以将迄今为止看到的一组颜色保留在 Set 中,并且仅添加尚未看到的项目:

const animals = [
{name:"Dog", color_id:1, color:"Red" },
{name:"Cat", color_id:2, color: "Blue"},
{name:"Fish", color_id:3, color:"Purple"},
{name:'Mouse', color_id:2, color:"Blue" }
];
const seenColors = new Set();

const output = animals.reduce((a, { color_id, color }) => {
if (!seenColors.has(color)) {
a.push({ color_id, color });
seenColors.add(color);
}
return a;
}, []);

console.log(output);

关于javascript - 在 ES6 中返回对象数组中唯一的字段集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57487813/

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