如何在json中按字母顺序放置数组?

时间:2017-10-31 18:20:58

标签: jquery arrays json alphabetical-sort

我有以下json结构。

json = {
        "Canada": ["Toronto"],
        "Argentina": ["Buenos Aires"],
        "Brazil": ["Rio de Janeiro"],
        }

我正在寻找一种按孩子的字母顺序排序的方法。它会是这样的:

json = {
        "Argentina": ["Buenos Aires"],
        "Brazil": ["Rio de Janeiro"],
        "Canada": ["Toronto"]

        }

有人可以帮我一把吗?我使用的是jQuery。

1 个答案:

答案 0 :(得分:0)

对对象键进行排序,然后使用新的键顺序再次构建对象,但具有相同的值:

Object.keys(json) // extract object keys in an array
   .sort()  // sort keys' array alphabetically 
   .reduce((result, key) => ({...result, [key]: json[key]}), {}) // build the same object but with the new order of keys