Jay*_*Bee 0 javascript sorting object lodash
如果我有一个像这样的 JavaScript 对象:
list = {
John: {
DOB: '2017-02-01'
},
Rob: {
DOB: '2016-07-09'
},
}
Run Code Online (Sandbox Code Playgroud)
我该如何将此对象排序到按其出生日期排序的对象列表中。我已经安装了 lodash,所以使用它是一个选项。
我希望结果是可映射的,即一个数组,例如:
sorted_keys = ['Rob','John']
Run Code Online (Sandbox Code Playgroud)
或者
sorted_array = [
{
Rob: {
DOB: '2016-07-09'
}
},
{
John: {
DOB: '2017-02-01'
}
},
]
Run Code Online (Sandbox Code Playgroud)
var list = {
John: {
DOB: '2017-02-01'
},
Rob: {
DOB: '2016-07-09'
}
}
var sortedKeys = Object.keys(list).sort(function(a, b) {
return new Date(list[a].DOB) - new Date(list[b].DOB)
})
console.log(sortedKeys)Run Code Online (Sandbox Code Playgroud)
或者使用箭头函数:
let list = {
John: {
DOB: '2017-02-01'
},
Rob: {
DOB: '2016-07-09'
}
}
let sortedKeys = Object.keys(list).sort((a, b) => new Date(list[a].DOB) - new Date(list[b].DOB))
console.log(sortedKeys)Run Code Online (Sandbox Code Playgroud)
如果有字符串,请回答您的评论:
let list = {
John: {
DOB: 'bbb'
},
Rob: {
DOB: 'aaa'
}
}
let sortedKeys = Object.keys(list).sort((a, b) => {
if(list[a].DOB < list[b].DOB) return -1;
if(list[a].DOB > list[b].DOB) return 1;
return 0;
})
console.log(sortedKeys)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |