我有包含整个数据库记录的 json 数据,现在我需要对返回的 json 数据执行分组,并按特定类别进行排序。
我认为对 json 数据进行排序很容易,但我不确定如何使用 group by。我需要根据特定的数据集进行分组。
任何帮助/建议都会很有帮助。
谢谢 拉维
最佳答案
var obj = [{ "session":"1","page":"a"},
{ "session":"1","page":"b"},
{ "session":"1","page":"c"},
{ "session":"2","page":"d"},
{ "session":"2","page":"f"},
{ "session":"3","page":"a"}];
function GroupBy(myjson,attr){
var sum ={};
myjson.forEach( function(obj){
if ( typeof sum[obj[attr]] == 'undefined') {
sum[obj[attr]] = 1;
}
else {
sum[obj[attr]]++;
}
});
return sum;
}
var result = GroupBy(obj,"page");
console.log("GroupBy:"+ JSON.stringify(result));
/// GroupBy(obj,"session") --> GroupBy:{"1":3,"2":2,"3":1}
/// GroupBy(obj,"page") --> GroupBy:{"a":2,"b":1,"c":1,"d":1,"f":1}
关于javascript - JSON数据分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10919241/