簡體   English   中英

javascrip對具有不同鍵的對象數組進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM