Javascript 对数组中的项进行分类

Javascript 对数组中的项进行分类,javascript,Javascript,我有两个数组(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",

我有两个数组(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)
});

必须使用对象方法

var a=[“abc”]还用于初始化形式为var a=[“a”]的数组

在您的情况下,必须使用对象声明

在花括号示例中,变量a={“name”:“xyz”}


您可以使用
reduce
对post数组进行汇总/计数。使用
forEach
更新类别总数

let post=[{“category”:“sport”},{“category”:“music”},{“category”:“music”},{“category”:“movie”},{“category”:“sport”},{“category”:“technology”},{“category”:“sport”}]
让类别=[{“总计”:“0”,“值”:“技术”,“名称”:“技术”},{“总计”:“0”,“值”:“运动”,“名称”:“运动”},{“总计”:“0”,“值”:“电影”,“名称”:“电影”},{“总计”:“0”,“值”:“音乐”},{“总计”:“0”,“值”:“一般”,“名称”:“一般”}]
//Sumarize/count post数组
let count=post.reduce((c,{category})=>{
c[类别]=(c[类别]| | 0)+1;
返回c;
}, {});
//更新类别
类别。forEach(o=>{
o、 总计=计数[o.value]| | 0;
});

控制台日志(类别)
预期的输出是什么?数组
post
无效有什么问题?@Pointy我希望total的值在post中存在的total项的基础上增加。我很抱歉,如果我的问题不清楚,但我已经付出了很多努力来获得result@Pointy我在这个小程序中付出了很多努力,它不值得投反对票。谢谢你让它看起来简单。我会尽快实施它。@BadmusKaybee很乐意帮忙。让我知道进展如何。:)我已经尝试了代码,它的作品后,小技巧,但它有点难以理解,现在我将审查很快。谢谢,埃迪先生