如何遍历JavaScript对象数组并获取动态键值对?
动态遍历对象数组的键值对
原始数据
let obj = [ { "id_feed": 114, "date_upd": 1666808102 }, { "id_feed": 115, "date_upd": 1666808102 }, { "id_feed": 116, "date_upd": 1666808102 }, ] ;
需求说明
需要动态提取数组内所有对象的键和对应值(键为动态可变),期望输出格式:
id_feed = 114 date_upd = 1666808102 id_feed = 115 date_upd = 1666808102 id_feed = 116 date_upd = 1666808102
原代码问题分析
原代码中Object.keys(obj)作用于数组,返回的是数组的索引(0、1、2),遍历后打印的是整个对象,无法拆分出单个键值对。
正确实现代码
方法一:嵌套遍历键
obj.forEach(item => { Object.keys(item).forEach(key => { // 用padEnd对齐键名,保证格式统一 console.log(`${key.padEnd(9)} = ${item[key]}`); }); });
方法二:用Object.entries简化(推荐)
Object.entries直接返回对象的键值对数组,解构后可直接获取键和值:
obj.forEach(item => { Object.entries(item).forEach(([key, value]) => { console.log(`${key.padEnd(9)} = ${value}`); }); });
输出效果
运行上述代码后,控制台会输出与期望完全一致的格式。
内容的提问来源于stack exchange,提问作者Shibbir
相关产品推荐
相关产品推荐

