Skip to content

Instantly share code, notes, and snippets.

@fredmontet
Last active August 29, 2015 14:05
Show Gist options
  • Save fredmontet/15e7730f6e54dbfb1340 to your computer and use it in GitHub Desktop.
Save fredmontet/15e7730f6e54dbfb1340 to your computer and use it in GitHub Desktop.
JSON sorter by one of the value of its keys
function objectByKey(data, keyToSort){
var objectByKey = new Object();
objectByKey[keyToSort] = new Object();
$.each(data, function(i, item){
var currentKeyToSort = item[keyToSort];
if(i == 0){
objectByKey[keyToSort][currentKeyToSort] = [];
objectByKey[keyToSort][currentKeyToSort].push(item);
}else{
var length = objectLength(objectByKey[keyToSort]);
var count = 0;
$.each(objectByKey[keyToSort], function(key, value){
count++;
if(currentKeyToSort == key){
objectByKey[keyToSort][currentKeyToSort].push(item);
count--;
}else if(count == length){
objectByKey[keyToSort][currentKeyToSort] = [];
objectByKey[keyToSort][currentKeyToSort].push(item);
}
});
}
});
return objectByKey;
}
function objectLength(obj) {
var count = 0;
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
++count;
}
return count;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment