Die*_*rik 2 javascript sorting javascript-objects
所以我知道这里有几十个帖子描述了如何对多维对象进行排序,但我找不到符合我需求的帖子.
所有这些解决方案都基于这样的对象:
[{id: 1, value: 'aaa'},{id: 40, value: 'bbbb'}]
我的对象看起来像这样:
buttons: {
confirm: {
class: 'btn btn-primary',
value: 'Opslaan',
order: 1
},
cancel: {
class: 'btn btn-default',
value: 'Annuleer',
order: 10
}
delete: {
class: 'btn btn-danger',
value: 'Verwijder',
order: 2
}
},
Run Code Online (Sandbox Code Playgroud)
当然,我想对此进行排序,以便结果是:确认,删除,取消.我试过这个(我预计不会工作):
this.options.buttons.sort ( function ( a, b ) {
return a.order - b.order;
});
Run Code Online (Sandbox Code Playgroud)
但那给了我一个 Uncaught TypeError: undefined is not a function
任何帮助深表感谢!
小智 5
正如@epascarello所提到的,JavaScript中的对象没有本机排序功能.
如果您有兴趣根据某个顺序对对象的键数组进行排序,可以使用Object.keys()!
var buttons = {
confirm: { value: 'foo', order: 0 },
cancel: { value: 'bar', order: 2},
delete: { value: 'baz', order: 1}
};
var sortedButtons = Object.keys(buttons).sort( function(keyA, keyB) {
return buttons[keyA].order - buttons[keyB].order;
}); // returns ['confirm', 'delete', 'cancel']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3930 次 |
| 最近记录: |