sort object by property

http://stackoverflow.com/questions/1069666/sorting-javascript-object-by-property-value

by lalatino

JavaScript

function sortObject(obj) {
    var arr = [];
    var prop;
    for (prop in obj) {
        if (obj.hasOwnProperty(prop)) {
            arr.push({
                'key': prop,
                'value': obj[prop]
            });
        }
    }

    var property_type = typeof arr[0].value == 'string';
    // property_type: true~string, false~number

    arr.sort(function(a, b) {
        return property_type ? a.value.toLowerCase().localeCompare(b.value.toLowerCase()) : a.value - b.value;
    });
    return arr; // returns array
}


var list = { "you": 100, "me": 75, "foo": 116, "bar": 15 };
var arr = sortObject(list);
console.log(arr);

list = { "n1": "Joe", "n2": "Diana", "n3": "Charles", "n4": "Angelina", 'n5':'Mark', 'n6':'Jennifer' };
arr = sortObject(list);
console.log(arr);