JS利用for...in结合排序实现对象Key与Value有序提取
作者:函数茶馆时间:2026-10-23 18:45:54浏览:252
JavaScript中for...in遍历对象属性时顺序不确定。本文介绍一种通过for...in获取所有Key,对Key数组进行排序后,再根据排序后的Key从原对象中匹配Value,从而将Key和Value分别存入有序数组的方法,适用于需要保持接口返回顺序的场景。
JavaScript对象遍历的无序性问题
在JavaScript开发中,若需遍历对象并将键值对分别提取至两个数组,通常使用for...in语句。然而,标准规范中对象属性的枚举顺序并不保证与定义顺序一致,导致直接遍历时获取的属性和值排列可能是无序的。
为了解决这一问题,核心目标是在遍历过程中,严格按照特定顺序提取对象中的Key和Value值。
具体实现效果如下所示。

假设后端接口返回的对象格式如下:

期望将其转换为有序的Key数组和Value数组,格式如下:

有序提取Key与Value的实现代码
具体的实现代码如下:
//按序输出数据
for(let i in res.data.allMap){
this.mapTime.push(i);
}
this.mapTime.sort();
this.mapTime.map((item) => {
this.mapValue.push(res.data.allMap[item])
})
实现原理与步骤解析
该实现的核心思路是:首先利用for...in循环遍历原对象,提取所有属性名(Key)并存入一个数组;接着对该Key数组进行排序操作;最后,遍历排序后的Key数组,根据每个Key在原对象中查找对应的Value值,并将结果分别存入新的Key数组和Value数组中。
以上即为利用for...in结合排序实现对象数据有序提取的完整方案,希望能为相关开发工作提供参考。
作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
