【问题标题】:How to sort JavaScript Object based on key length [duplicate]如何根据键长度对 JavaScript 对象进行排序 [重复]
【发布时间】:2018-03-29 03:01:35
【问题描述】:

我需要根据键长度对 JavaScript 对象进行排序

因此如下:

{ 'b' : 'asdsad', 'bbb' : 'masdas', 'bb' : 'dsfdsfsdf' }

会变成:

{ 'b' : 'dsfdsfsdf', 'bb' : 'dsfdsfsdf', 'bbb' : 'masdas' }

【问题讨论】:

    标签: javascript


    【解决方案1】:

    Javascript 对象属性没有顺序这个概念,不能排序然后尝试通过声明顺序来获取。因为无法保证它们会按什么顺序出现。

    来自EcmaScript 1 规范

    4.3.3 对象

    对象是对象类型的成员。这是一个无序 属性集合,其中包含原语 值、对象或函数。存储在对象属性中的函数称为方法。

    如果您需要排序,也许查看数组会很有用。

    【讨论】:

    【解决方案2】:
    function TestA() {
    
      var a = {
        'b': 'asdsad',
        'bbb': 'masdas',
        'bb': 'dsfdsfsdf'
      }
    
      var keyArray = Object.keys(a);
    
      var object = {};
    
      keyArray.sort();
    
      keyArray.forEach(function(item) {
    
        object[item] = a[item]
    
      })
      return object
    }
    

    【讨论】:

      猜你喜欢
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2020-05-03
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2011-01-19
      相关资源
      最近更新 更多