I have some problem with sorting items inside object. So I have something like this:
var someObject = { 'type1': 'abc', 'type2': 'gty', 'type3': 'qwe', 'type4': 'bbvdd', 'type5': 'zxczvdf' }; I want to sort someObject by value, and this is where I have problem. I have sorting function that should return key/value pairs sorted by value:
function SortObject(passedObject) { var values = []; var sorted_obj = {}; for (var key in passedObject) { if (passedObject.hasOwnProperty(key)) { values.push(passedObject[key]); } } // sort keys values.sort(); // create new object based on Sorted Keys jQuery.each(values, function (i, value) { var key = GetKey(passedObject, value); sorted_obj[key] = value; }); return sorted_obj; } and function to get key:
function GetKey(someObject, value) { for (var key in someObject) { if (someObject[key] === value) { return key; } } } The problem is in last part when creating new, returning object - it's sorted by key again. Why? And this is specific situation when i have to operate on object NOT on array (yes I know that would be easier...)
Does anyone know how to sort items in object?