按值排序JavaScript对象

时间:2013-09-19 13:39:18

标签: javascript jquery json sorting

我想根据值重新排列javascript对象中的键值对。

  var in = {
      'b': 'asdsad',
      'm': [{
          '0': 'asdsad'
      }, {
          '1': 'masdas'
      }, {
          '4': 'dsfdsfsdf'
      }],
      'c': 'masdas',
      'a': [{
          'b': 'asdsad'
      }, {
          'c': 'masdas'
      }, {
          'k': 'dsfdsfsdf'
      }],
      'z': 'asdasdads'
  }

我想重新排列对象,以便将数组作为最后一个键值对。

预期输出

var out = {
    'b': 'asdsad',
    'c': 'masdas',
    'z': 'asdasdads',
    'm': [{
        '0': 'asdsad'
    }, {
        '1': 'masdas'
    }, {
        '4': 'dsfdsfsdf'
    }],
    'a': [{
        'b': 'asdsad'
    }, {
        'c': 'masdas'
    }, {
        'k': 'dsfdsfsdf'
    }]
}

2 个答案:

答案 0 :(得分:1)

根据JavaScript规范对Object的定义:

  

它是一个无序的属性集合,每个属性都包含一个   原始值,对象或函数。存储在属性中的函数   一个对象被称为方法。

如果要以有序的方式访问密钥,则应使用支持排序的结构,如数组。

答案 1 :(得分:1)

嗨基于值的Javascript排序只能在有相应数据结构的字段时才能完成...下面的例子用字段值排序数组pls check out。 Sort array of objects by string property value in JavaScript