簡體   English   中英

根據對象的值將javascript對象鍵排序到數組中

[英]Sort javascript object key into array based on object's value

假設我有一個對象,數字為鍵,字符串為值

var obj = {
    '24': 'Sean',
    '17': 'Mary',
    '88': 'Andrew',
    '46': 'Kelvin'
}

是否有一種簡單的方法可以根據鍵的值將鍵排序到數組中,其結果如下所示:

[88,46,17,24]

這是一種方法:

 var obj = { '24': 'Sean', '17': 'Mary', '88': 'Andrew', '46': 'Kelvin' } var sortedKeys = Object.keys(obj).sort(function(a, b) { return obj[a].localeCompare(obj[b]); }).map(Number) console.log(sortedKeys) 

如果您對結果是字符串數組而不是數字感到滿意,請省略.map()部分。

進一步閱讀:

或者同樣的事情,但使用ES6箭頭功能

const sortedKeys = Object.keys(obj)
                     .sort((a, b) => obj[a].localeCompare(obj[b]))
                     .map(Number)

暫無
暫無

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

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