Skip to content

Instantly share code, notes, and snippets.

@edtoken
Created October 22, 2014 18:47
Show Gist options
  • Save edtoken/8a2c3e8f20ee3cfcdc1c to your computer and use it in GitHub Desktop.
Save edtoken/8a2c3e8f20ee3cfcdc1c to your computer and use it in GitHub Desktop.
asdasd
var CalculateItems = function(str){
try {
var jsonData = JSON.parse(str);
} catch(e) {
return {'data':false};
}
var out = "\r\n" ;
var outObj = {};
var setItemsObj = function(oldObj, newData){
var obj = {};
if(oldObj){
obj = oldObj;
}
if(obj.count){
obj.count++;
}else{
obj.count = 1;
}
for(var n in newData){
if(obj[n] && parseInt(obj[n]) % 1 === 0){
obj[n] = obj[n] + parseInt(newData[n]);
}else if(parseInt(newData[n]) % 1 === 0){
switch(n){
case 'gilded':
case 'num_comments':
case 'ups':
case 'downs':
case 'score':
obj[n] = parseInt(newData[n]);
break;
default:
break;
}
}
}
return obj;
};
if(jsonData.data && jsonData.data.children){
var items = jsonData.data.children;
for(var i in items){
var item = items[i];
if(item.data && item.data.domain){
var data = item.data;
var domain = data.domain;
outObj[domain] = setItemsObj(outObj[domain], data);
}
}
}
for(var domain in outObj){
var tmpout = '';
// IF NEED SORTS
var arr = new Array();
for(var n in outObj[domain]){
var obj = {};
obj[n] = outObj[domain][n]
arr.push(obj);
}
arr.sort(function(a, b){
var key1 = Object.keys(a)[0];
var key2 = Object.keys(b)[0];
if(a[key1] < b[key2]){
return -1;
}
return 1;
});
tmpout += '"' + domain + '", ';
for(var i in arr){
var key = Object.keys(arr[i])[0];
tmpout += '"' + key + ':' + arr[i][key] + '" ,';
}
tmpout = tmpout.substr(0, tmpout.length -1);
tmpout += "\r\n";
out += tmpout;
}
};
var url = 'http://www.reddit.com/r/javascript/.json';
$.ajax({
url:url,
type: 'GET',
success:function(resp){
var data = JSON.stringify(resp);
CalculateItems(data);
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment