javascript - 如何根据多变量对数据进行分类

标签 javascript php arrays json

我想对这个 json 对象进行分类

    var lists=[{"No":58,"Time":"Feb-2020","Labels":"Mahasiswa","FullName":"Raga"},
{"No":59,"Time":"Feb-2020","Labels":"Mahasiswa","FullName":"Raga"},
{"No":60,"Time":"Feb-2020","Labels":"Umum","FullName":"Raga"},
{"No":61,"Time":"Feb-2020","Labels":"Mahasiswa","FullName":"Raga"},
{"No":62,"Time":"Feb-2020","Labels":"Pelajar","FullName":"Raga"},
{"No":63,"Time":"Feb-2020","Labels":"Umum","FullName":"Rga"},{}];

如何根据时间和标签来统计 的出现次数。 例如

let time= [Feb-2020]
let labelsmahasiswa= [3]
let labelsumum= [2]
let labelspelajar= [1]

我已经成功地仅根据时间计算了发生次数

let count = lists.reduce((newObj, obj) => {
  if(newObj[obj.Time]) {
    newObj[obj.Time] = newObj[obj.Time]+1;
  } else {
    newObj[obj.Time] = 1;
  }

  return newObj;

}, {});

我像这样返回

var lists2 = [[#Time],[#Occurences]];
for(i=0;i<(Object.keys(count).length-1);i++){

    lists2[0].push (Object.keys(count)[i]);
    lists2[1].push (Object.values(count)[i]);

};

当我console.log列表时

console.log(lists2)
//[[Feb-2020],[6]]

提前谢谢你。

最佳答案

您可以将一个带有 Time 的对象作为包含 Labels 计数的嵌套对象的键。

var lists = [{ No: 58, Time: "Feb-2020", Labels: "Mahasiswa", FullName: "Raga" }, { No: 59, Time: "Feb-2020", Labels: "Mahasiswa", FullName: "Raga" }, { No: 60, Time: "Feb-2020", Labels: "Umum", FullName: "Raga" }, { No: 61, Time: "Feb-2020", Labels: "Mahasiswa", FullName: "Raga" }, { No: 62, Time: "Feb-2020", Labels: "Pelajar", FullName: "Raga" }, { No: 63, Time: "Feb-2020", Labels: "Umum", FullName: "Rga" }, {}],
    result = lists.reduce((r, { Time, Labels }) => {
        if (!Time) return r;
        r[Time] = r[Time] || {};
        r[Time][Labels] = (r[Time][Labels] || 0) + 1;
        return r;
    }, {});

console.log(result);

关于javascript - 如何根据多变量对数据进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60204854/

相关文章:

javascript - 在现代 javascript 中求和输入类型数字的两个值

php - mySQL - 我应该更喜欢 REGEXP 以获得更快的搜索结果吗?

javascript - 使用js获取元素的总和

javascript - 对象内的数组返回长度 0,即使存在元素

javascript - 从 'fetch' 返回解析值

javascript - 使用 Javascript/JQuery 的 JSON 对象的区别

Javascript 主函数在内部子函数之前首先触发

php - mac/linux 的 mysqldump 常见安装位置

php - 通过接口(interface)向mysql插入数据出错

javascript - 如何在 javascript 中对这个对象数组进行分组或合并?