名前のアルファベット順を修正するには、次のオブジェクトをどのように並べ替えますか?
var users_by_id = {
'12': ['Ted', 34, 'Male'],
'13': ['Ben', 36, 'Male'],
'14': ['Alice', 42, 'Female']
}
var users_by_name = {
'14': ['Alice', 42, 'Female'],
'13': ['Ben', 36, 'Male'],
'12': ['Ted', 34, 'Male']
}
オブジェクトを 2 回通過する必要がある計画がありますが、それを行うためのより簡単な方法があるかどうかはわかりません。私が持っている計画はこれです(私はjQueryを使用しています):
var users_by_name = {};
var names = [];
$.each(users_by_id, function(id, props) {
names.push(props[0]);
});
names.sort();
$.each(names, function(i, n) {
$.each(users_by_id, function(id, props) {
if(n == props[0]) users_by_name[id] = props;
});
});