按属性名称对 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中文网其他相关文章!