전체 데이터베이스 레코드를 포함하는 json 데이터가 있습니다. 이제이 반환 json 데이터에서 특정 카테고리를 기준으로 그룹화를 수행해야합니다.JSON 데이터 그룹 by
정렬은 json 데이터에서 쉽게 수행 할 수 있다고 생각하지만 그룹과 함께 갈 수 있는지는 잘 모르겠습니다. 특정 데이터 집합을 기준으로 그룹화해야합니다.
어떤 도움이나 제안이라도 도움이 될 것입니다.
감사
전체 데이터베이스 레코드를 포함하는 json 데이터가 있습니다. 이제이 반환 json 데이터에서 특정 카테고리를 기준으로 그룹화를 수행해야합니다.JSON 데이터 그룹 by
정렬은 json 데이터에서 쉽게 수행 할 수 있다고 생각하지만 그룹과 함께 갈 수 있는지는 잘 모르겠습니다. 특정 데이터 집합을 기준으로 그룹화해야합니다.
어떤 도움이나 제안이라도 도움이 될 것입니다.
감사
확인 http://linqjs.codeplex.com 또는 http://jslinq.codeplex.com 라비. 그것은 LINQ를 모방 한 자바 스크립트 라이브러리입니다. 여기에 당신과 같은 다른 질문입니다 : U에 대한 Javascript Dynamic Grouping
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}
var obj = [{Poz:'F1',Cap:10},{Poz:'F1',Cap:5},{Poz:'F1',Cap:5},{Poz:'F2',Cap:20},{Poz:'F1',Cap:5},{Poz:'F1',Cap:15},{Poz:'F2',Cap:5},{Poz:'F3',Cap:5},{Poz:'F4',Cap:5},{Poz:'F1',Cap:5}];
Array.prototype.sumUnic = function(name, sumName){
var returnArr = [];
var obj = this;
for(var x = 0; x<obj.length; x++){
if((function(source){
if(returnArr.length == 0){
return true;
}else{
var isThere = [];
for(var y = 0; y<returnArr.length; y++){
if(returnArr[y][name] == source[name]){
returnArr[y][sumName] = parseInt(returnArr[y][sumName]) + parseInt(source[sumName]);
return false;
}else{
isThere.push(source);
}
}
if(isThere.length>0)returnArr.push(source);
return false;
}
})(obj[x])){
returnArr.push(obj[x]);
}
}
return returnArr;
}
obj.sumUnic('Poz','Cap');
// return "[{"Poz":"F1","Cap":45},{"Poz":"F2","Cap":25},{"Poz":"F3","Cap":5},{"Poz":"F4","Cap":5}]"
덕분에 답을 r에. LINQ는 우리가 사내 언어로 작업하면서 mycase에서 결코 의미가 없습니다. 우리는 javascript 엔진을 실행하는 자체 프레임 워크를 개발했습니다. 그래서 제 3 자 프레임 워크 (예 : .NET)없이 자바 스크립트 수준에서이 그룹을 수행해야합니다. – ravi
@ravi - linqjs는 .net과 아무런 관련이없는 순수한 자바 스크립트 라이브러리입니다. 그냥 linq 쿼리 기능을 모방. –
감사합니다. Elian. 하지만 난 우리의 개발에 매우 다른 접근 방식을 알고 있습니다. 나는 데스크톱 응용 프로그램을위한 자바 스크립트를 작성하고 있습니다. 어쨌든 LINQ.js가 없으면 어떻게 될지 알 수 있습니까? – ravi