gpt4 book ai didi

javascript - 如何计算javascript中数组对象的唯一值

转载 作者:行者123 更新时间:2023-11-30 07:50:57 25 4
gpt4 key购买 nike

我想计算唯一值的数量并将其放入新数组中。我有以下数组:

[
{ CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
{ CategoryId: "9872cce5af92", CategoryName: "Category 2", CategoryColor: "purple" }
{ CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
]

我想要具有以下结果的新数组:

[
{ CategoryId: "b5c3f43f941c", count: 2, CategoryColor: "cgreen" }
{ CategoryId: "9872cce5af92", count: 1, CategoryColor: "purple" }
]

在此通过 id 进行检查,如果 id 相同,则显示计数和新数组中的新内容。

希望你明白我想要什么。

谢谢,

最佳答案

您可以使用“for..of”遍历数组并创建一个临时对象来保存每个循环中的数据。如果 tempObject 中存在相同的 id,则将计数递增 1

var arr = [
{ CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
, { CategoryId: "9872cce5af92", CategoryName: "Category 2", CategoryColor: "purple" }
, { CategoryId: "b5c3f43f941c", CategoryName: "Category 1", CategoryColor: "cgreen" }
]

var tempResult = {}

for(let { CategoryColor, CategoryId } of arr)
tempResult[CategoryId] = {
CategoryId,
CategoryColor,
count: tempResult[CategoryId] ? tempResult[CategoryId].count + 1 : 1
}

let result = Object.values(tempResult)

console.log(result)

关于javascript - 如何计算javascript中数组对象的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53280115/

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