【问题标题】:How would you alphabetize an object in the simplest and easiest way possible (Javascript) [duplicate]您如何以最简单和最简单的方式对对象进行字母排序(Javascript)[重复]
【发布时间】:2017-05-04 22:50:00
【问题描述】:

以下面的对象为例:

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,看起来......很复杂。也许这不是微不足道的?

想法?

【问题讨论】:

标签: javascript


【解决方案1】:

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


下面是原帖。

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

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

而且,在遍历它的键时,我可以获得“a”、“b”和“c”的任何可能顺序。

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

【讨论】:

猜你喜欢
  • 2022-01-10
  • 2012-01-04
  • 2017-02-14
  • 1970-01-01
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 2019-08-17
  • 2017-07-30
相关资源
最近更新 更多