1

我想根据值重新排列 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'
    }]
}
4

2 回答 2

1

根据 JavaScript 规范对 Object 的定义:

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

如果你想以有序的方式访问键,你应该使用支持排序的结构,比如数组。

于 2013-09-19T13:47:36.387 回答
1

嗨,基于值的 Javascript 排序只有在存在与其数据结构相关的字段时才能完成……下面的示例对具有字段值的数组进行排序,请检查。在 JavaScript 中按字符串属性值对对象数组进行排序

于 2013-09-19T13:53:33.077 回答