对对象中的值进行排序

Sorting values in an object

本文关键字:排序 对象      更新时间:2023-09-26

可能重复:
在Javascript 中对JSON对象进行排序

我有一个具有键和值对的对象。

var obj = {
   'key1':'z',
   'key2':'u',
   'key3':'a',
   'key4':'c',
   'key5':'b',
   'key6':'e'
}

我必须像这样按字母顺序对我的值进行排序,但看看键,它们也相应地发生了变化。

    var obj = {
           'key3':'a',
           'key5':'b',
           'key4':'c',
           'key6':'e',
           'key2':'u',
           'key1':'z'
   }

不能对对象属性进行排序。对象属性的行为类似于哈希映射,其中属性的迭代顺序可能无法反映源代码或JSON负载中的顺序。

您应该考虑将数据存储为阵列:

var arr = [{
   key: "key1", value: "z"
}, {
   key: "key2", value: "u"
}, {
   ...
}];
var sorted = arr.sort(function (a, b) {
    return a.key === b.key ? 0
        : a.key < b.key ? -1 : 1;
});