簡體   English   中英

按key升序對object進行排序

[英]Sort object by keys in ascending order

我目前有一個像這樣的 object

let obj = {
    "5": "961131",
    "8": "961127",
    "5,5": "961107",
    "7": "961103",
    "9.5": "961115"
}

是否可以按其鍵按升序對其進行排序? 我想要達到的結果是:

obj = {
    "5": "961131",
    "5,5": "961107",
    "7": "961103",
    "8": "961127",
    "9.5": "961115"
}

它可能涉及創建一個新的 object 我不介意,只是不確定如何完成

你不能 Object 鍵不可排序,您無法預測每個瀏覽器將如何迭代 object。

但是您可以像這樣使用數組作為索引 請記住格式化您的密鑰。 如果是字符串,請使用.sort() 否則,您可能應該將您的鍵與.sort((a, b) => parseFloat(a) - parseFloat(b));進行比較

 let obj = { "5": "961131", "8": "961127", "5,5": "961107", "7": "961103", "9.5": "961115" } let index = Object.keys(obj).sort() // iterate method index.forEach((key) => { console.log(key, obj[key]) }) // or array of sorted object let sortedArrayOfObject = index.map((v) => { return {key: v, value: obj[v]} }) console.log(sortedArrayOfObject)

let obj = {
    "5": "961131",
    "8": "961127",
    "5,5": "961107",
    "7": "961103",
    "9.5": "961115"
}
const objSortedByKeys = Object.fromEntries(Object.entries(obj).sort((a,b)=>a[0].localeCompare(b[0])));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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