首页 >web前端 >js教程 >如何按属性名称字母顺序对 JavaScript 对象进行排序?

如何按属性名称字母顺序对 JavaScript 对象进行排序?

DDD
DDD原创
2024-11-01 18:14:30571浏览

How to Sort a JavaScript Object Alphabetically by Property Name?

按属性名称对 JavaScript 对象进行排序

问:如何按属性名称的字母顺序对这样的 JavaScript 对象进行排序?

{
    method: 'artist.getInfo',
    artist: 'Green Day',
    format: 'json',
    api_key: 'fa3af76b9396d0091c9c41ebe3c63716'
}

结果:

{
    api_key: 'fa3af76b9396d0091c9c41ebe3c63716',
    artist: 'Green Day',
    format: 'json',
    method: 'artist.getInfo'
}

A:请注意,在 ES6 及更高版本中,对象的键现在是有序的。

以前,对象中键的顺序是未定义的,使得对对象进行一致的排序变得困难。考虑在向用户显示对象时对键进行排序,而不是依赖内部排序顺序。

但是,如果保持顺序,按属性名称对对象进行排序的一种方法是:

function sortObject(o) {
    var sorted = {},
        key, a = [];

    for (key in o) {
        if (o.hasOwnProperty(key)) {
            a.push(key);
        }
    }

    a.sort();

    for (key = 0; key < a.length; key++) {
        sorted[a[key]] = o[a[key]];
    }

    return sorted;
}

以上是如何按属性名称字母顺序对 JavaScript 对象进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn