按键排序JavaScript对象
2024-08-25 20:59:50
问题描述
我需要按键排序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);
最新文章
- c#导出bugfree3.0的数据到禅道
- SparkStreaming运行出现 java.lang.NoClassDefFoundError: org/apache/htrace/Trace 错误
- Android:Layout_weight的深刻理解
- poj 1259 Agri-Net(最小生成树)
- html元素
- php 时间戳 总结 今日,昨日,上周,本周,最近三个月,上季,本季,去年,最近七天,今年,最近三十天
- Covariant Returen Types(协变返回类型)
- [计算机基础]URI与URL
- LoadRunner【第一篇】下载、安装、破解
- 我的 FPGA 学习历程(03)—— 使用 Quaruts 自带仿真工具
- 源码编译vim
- h5新增标签及css3新增属性
- cpu概念
- 向集合中添加Person类型并对其排序
- 导出putty配置
- webpack基础概念
- 《Python》re模块补充、异常处理
- python 游戏(船只寻宝)
- 《Windows核心编程》第2章——字符和字符处理
- ibatis 常用标签
热门文章
- bzoj2200拓扑排序+最短路+联通块
- poj3162 树形dp|树的直径 + 双单调队列|线段树,好题啊
- Python中对文件和目录的操作
- python unittest框架装饰器
- CAS统一登录认证好文汇集贴
- 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)
- adb devices unauthorized解决办法
- Adjoint operators $T_K$ and $T_{K^{*}}$ in BEM
- JS如何监听动画结束
- 集群LVS