您将如何以最简单和最简单的方式对对象进行字母顺序排列(Javascript)

时间:2017-05-04 22:50:01

标签: javascript

以下面的对象为例:

var object = {
  some_key: 'some value',
  some_other_key: 'some other value',
  AKey: 'notice that some will have underscores and some wont.'
  callBackl: 'http://google.ca'
}

应该成为:

var object = {
  AKey: 'notice that some will have underscores and some wont.'
  callBackl: 'http://google.ca'
  some_key: 'some value',
  some_other_key: 'some other value',
}

我还没有找到一个lodash解决方案,我在堆栈上找到的很多解决方案,such as this one,似乎......复杂。也许这不是微不足道的?

思想吗

1 个答案:

答案 0 :(得分:3)

编辑:当我第一次发布时,似乎我不正确,新定义的Javascript规范声明(令我完全惊讶)javascript对象确实有订购(Sort JavaScript object by key)!话虽这么说,我仍然不建议尝试对象本身的元素进行排序,而是采用我在下面描述的键排序方法。 Object.keys(obj)以及其他一些边缘情况似乎仍然无法保证排序,我认为这是足够的理由远离取决于对象的键的顺序。

以下原帖。

除非我不正确地理解javascript,否则javascript对象中的键无法保证排序。这意味着,理论上,我可以创建对象

{'a':'hi', 'c':'hey', 'b':'hello'}

而且,在迭代其键时,我可以获得任何可能的排序' a'''''''

如果您需要以任何特定顺序显示对象,我建议您访问对象的键并对其进行排序,然后按新排序键的排序顺序访问对象。 (可以在这里看到:Is there a way to sort/order keys in JavaScript objects?