Javascript 如何基于多变量对数据进行分类
我想对这个json对象进行分类Javascript 如何基于多变量对数据进行分类,javascript,php,arrays,json,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
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]);
};
先谢谢你 可以将带有
时间的对象
作为嵌套对象的键,该嵌套对象包含标签的计数
var list=[{No:58,Time:“Feb-2020”,标签:“Mahasiswa”,全名:“Raga”},{No:59,Time:“Feb-2020”,标签:“Mahasiswa”,全名:“Raga”},{No:60,Time:“Feb-2020”,标签:“umm”,全名:“Raga”},{No:61,Time:“Feb-2020”,标签:“Mahasiswa”,全名:“Raga”},{No:62,Time:“Feb-2020”,标签:“Pelajar”,全名:“Raga”},{No:63,时间:“2020年2月”,标签:“Umum”,全名:“Rga”},{},
结果=列表。减少((r,{Time,Labels})=>{
如果(!Time)返回r;
r[Time]=r[Time]|{};
r[Time][Labels]=(r[Time][Labels]| | 0)+1;
返回r;
}, {});
console.log(结果);
console.log(lists2)
//[[Feb-2020],[6]]