我有json數據包含整個數據庫記錄,現在我需要執行group by這個返回json數據,並對特定類別進行排序。JSON數據組由
我認爲排序很容易做json數據,但我不知道我怎麼可以去與團隊。我需要根據特定的數據進行分組。
任何幫助/建議將是很大的幫助。
感謝 拉維
我有json數據包含整個數據庫記錄,現在我需要執行group by這個返回json數據,並對特定類別進行排序。JSON數據組由
我認爲排序很容易做json數據,但我不知道我怎麼可以去與團隊。我需要根據特定的數據進行分組。
任何幫助/建議將是很大的幫助。
感謝 拉維
檢查http://linqjs.codeplex.com或http://jslinq.codeplex.com。它是模仿LINQ的JavaScript庫。這裏是像你這樣的其他問題: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}]"
感謝ü閱讀答題。 LINQ從來沒有任何意義,因爲我們正在處理室內語言。我們開發了自己的運行javascript引擎的framerwork。所以我需要在沒有任何第三方框架(即.NET)的情況下通過javascript級別來完成這個組。 – ravi
@ravi - linqjs是一個純粹的javascript庫,與.net無關。它只是模仿它的linq查詢功能。 –
謝謝埃利安。但我知道它在我們的開發中非常不同的方法。我正在爲桌面應用程序編寫javascript。無論如何,你知道沒有LINQ.js它有可能嗎? – ravi