[英]javascrip sort array of objects with different keys
我有以下對象數組:
[
{
"2019-10-01": false
},
{
"2020-04-01": true
},
{
"2020-02-01": true
},
{
"2018-01-01": false
},
{
"2019-12-01": true
}
]
我想按日期對對象進行排序,這是鍵。 最好的方法是什么?
您可以使用Object.keys()
來獲取密鑰,而不管其名稱如何,並將日期字符串與String.prototype.localeCompare()
進行比較
const arr = [ { "2019-10-01": false }, { "2020-04-01": true }, { "2020-02-01": true }, { "2018-01-01": false }, { "2019-12-01": true } ] arr.sort((a, b) => { let [ aDate ] = Object.keys(a) let [ bDate ] = Object.keys(b) return aDate.localeCompare(bDate) }) console.info(arr)
使用Object.keys
從 Object 鍵中獲取數組並使用Date
實例進行排序。
let data = [ { "2019-10-01": false }, { "2020-04-01": true }, { "2020-02-01": true }, { "2018-01-01": false }, { "2019-12-01": true } ] data = data.sort((a, b) => new Date(Object.keys(a)[0]) - new Date(Object.keys(b)[0]) ) console.log(data)
你可以做這樣的事情
var a = [ { "2019-10-01": false }, { "2020-04-01": true }, { "2020-02-01": true }, { "2018-01-01": false }, { "2019-12-01": true } ] a.sort((a, b) => { return (new Date(Object.keys(a))) -(new Date(Object.keys(b))) })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.