按键排序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对象