JSFiddle - React, Tailwind, and code Playground
JavaScript
var data = {
23213: {
customer: 'C',
otherdata: 'foo'
},
643213: {
customer: 'A',
otherdata: 'bar'
},
1: {
customer: 'D',
otherdata: 'foobar'
},
2341: {
customer: 'B',
otherdata: 'barfoo'
}
};
function iterate(data) {
var arr = [];
for (var prop in data) {
if (data.hasOwnProperty(prop)) {
var obj = {};
obj[prop] = data[prop];
obj.tempSortName = data[prop].customer.toLowerCase();
arr.push(obj);
}
}
arr.sort(function(a, b) {
var at = a.tempSortName,
bt = b.tempSortName;
return at > bt ? 1 : ( at < bt ? -1 : 0 );
});
for (var i = 0, l = arr.length; i < l; i++) {
var obj = arr[i];
delete obj.tempSortName;
console.log(obj);
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
var id = prop; //gets the obj "index" (id?)
}
}
console.log(id);
var item = obj[id];
console.log(item.customer);
//do stuff with item
}
}
iterate(data);