如何计算数组中的重复值并存储在数组中

大卫

我有一些对象数组,而数据却很少。我的输入就像:

我的实际代码是:

buildcount: function(store2){
   var datacount = store2.data.items;
    for(var i=0; i<datacount.length; i++){
        var x = datacount[i].data
},

从商店这里,我正在获取x,它是对象的数组,每个对象都有

obj{
    STU: "Study1", SUB: "Subject1", EXL: "Yes"}
}

Object {STU: "Study1", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study1", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study2", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study3", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study1", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study3", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study3", SUB: "Subject1", EXL: "Yes"}
Object {STU: "Study2", SUB: "Subject1", EXL: "Yes"}

我想计算所有唯一元素,并与count一起存储在数组中。在javascript中。

输出 : object {"Study1 : 3", "Study2" : 2, "Study3":4}

内纳德·弗拉卡(Nenad Vracar)

你可以做到这一点 reduce

var ar =  [{"STU":"Study1","SUB":"Subject1","EXL":"Yes"},{"STU":"Study1","SUB":"Subject1","EXL":"Yes"},{"STU":"Study2","SUB":"Subject1","EXL":"Yes"},{"STU":"Study3","SUB":"Subject1","EXL":"Yes"},{"STU":"Study1","SUB":"Subject1","EXL":"Yes"},{"STU":"Study3","SUB":"Subject1","EXL":"Yes"},{"STU":"Study3","SUB":"Subject1","EXL":"Yes"},{"STU":"Study2","SUB":"Subject1","EXL":"Yes"}]

var result = ar.reduce(function(o, e) {
  return o[e.STU] = (o[e.STU] || 0) + 1, o
}, {});

console.log(result)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章