gpt4 book ai didi

javascript - 对数组中的项目进行分类

转载 作者:行者123 更新时间:2023-11-30 14:33:14 26 4
gpt4 key购买 nike

我有这两个数组 (i) 一个类别数组 (ii) 一个帖子类别数组

   let category = [{ "total":"0", "value": "technology", "name": "Technology"},
{ "total":"0", "value": "sport", "name": "Sport"},
{ "total":"0", "value": "movie", "name": "Movie"},
{ "total":"0", "value": "music", "name": "Music"},
{ "total":"0", "value": "general", "name": "General"}]

类目数组的获取与此类似

 let post = [ "category" : "sport", "category" : "music", "category" :  "general", 
"category" : "music", "category" : "movie", "category" : "sport",
"category" : "technology", "category" : "sport"]

我一直在尝试不同系列的模式来计算每个类别的出现次数。这些就是我要解决的问题。

category.map((cat) => {
post.reduce((cat, pro) => {
if(cat.value === pro) return cat.total + 1;
},0)
});

最佳答案

您可以使用reduce 来汇总/统计帖子数组。使用 forEach 更新类别总数

let post = [{"category":"sport"},{"category":"music"},{"category":"general"},{"category":"music"},{"category":"movie"},{"category":"sport"},{"category":"technology"},{"category":"sport"}]
let category = [{"total":"0","value":"technology","name":"Technology"},{"total":"0","value":"sport","name":"Sport"},{"total":"0","value":"movie","name":"Movie"},{"total":"0","value":"music","name":"Music"},{"total":"0","value":"general","name":"General"}]

//Sumarize/count post array
let count = post.reduce((c, {category}) => {
c[category] = (c[category] || 0) + 1;
return c;
}, {});

//Update category
category.forEach(o => {
o.total = count[o.value] || 0;
});

console.log(category);

关于javascript - 对数组中的项目进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50840745/

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