按键排序JavaScript对象

Posted FEDeveloper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按键排序JavaScript对象相关的知识,希望对你有一定的参考价值。

问题描述

我需要按键排序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);

 

















以上是关于按键排序JavaScript对象的主要内容,如果未能解决你的问题,请参考以下文章

Javascript/Coffeescript 在值相同时对多个键上的对象数组进行排序

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

如何按键排序对象数组?无法正确处理

常用Javascript代码片段集锦

VSCode自定义代码片段——JS中的面向对象编程