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