问题描述

我需要按键排序JavaScript对象。

因此如下:

{ 'b' : 'asdsad', 'c' : 'masdas', 'a' : 'dsfdsfsdf' }

会成为:

{ 'a' : 'dsfdsfsdf', 'b' : 'asdsad', 'c' : 'masdas' }

 

最佳解决方案

方法一 如果要迭代对象的属性,可以对键进行排序,然后检索关联的值:

var myObj = {
'b': 'asdsadfd',
'c': 'masdasaf',
'a': 'dsfdsfsdf'
},
keys = [],
k, i, len;
var newObj={};

for (k in myObj) {
if (myObj.hasOwnProperty(k)) {
keys.push(k);
}
}

keys.sort();

len = keys.length;

for (i = 0; i < len; i++) {
k = keys[i];
newObj[k]=myObj[k];
}

console.log( myObj );console.log(newObj);

 


方法二  使用Object.keys的替代实现:

var myObj = {
    'b': 'asdsadfd',
    'c': 'masdasaf',
    'a': 'dsfdsfsdf'
  },
  keys = Object.keys(myObj),
  i, len = keys.length;

keys.sort();

for (i = 0; i < len; i++) {
  k = keys[i];
  newObj[k]=myObj[k];
}
console.log(keys);
console.log( myObj );
console.log(newObj);

 

相关文章:

  • 2021-10-17
  • 2021-07-26
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
  • 2021-08-26
  • 2022-12-23
猜你喜欢
  • 2022-01-15
  • 2022-03-06
  • 2022-12-23
  • 2022-01-24
  • 2021-12-20
  • 2022-12-23
相关资源
相似解决方案