如何在JavaScript中将指定数组转换为目标JSON对象
把数组转换为指定键值对对象的解决方案
嘿,这事儿不难,用JavaScript的Array.reduce()方法就能轻松实现这个转换,这是处理数组到对象映射场景的常用手段。直接看代码示例:
// 你的原始数组 let array = [ { label_name: 'text1', setting_value: 'val1' }, { label_name: 'text4', setting_value: 'val5' }, { label_name: 'text6', setting_value: 'val8' }, ]; // 执行转换 const transformedObj = array.reduce((accumulator, currentItem) => { // 把当前项的label_name作为键,setting_value作为值存入累加器对象 accumulator[currentItem.label_name] = currentItem.setting_value; return accumulator; }, {}); // 初始值设为空对象,作为转换的起点 // 输出结果 console.log(transformedObj); // 控制台会打印:{ text1: 'val1', text4: 'val5', text6: 'val8' }
简单解释下逻辑:
reduce()方法会遍历数组的每一项,每次迭代都会调用我们传入的回调函数- 回调里的
accumulator(累加器)是一个临时对象,用来逐步存储转换后的键值对 - 每遍历一个数组项,我们就把它的
label_name作为对象的键,setting_value作为对应的值添加到累加器中 - 最后
reduce()会返回这个累加器,也就是你想要的最终对象
如果需要把结果转换成标准JSON字符串格式,只需要再调用JSON.stringify(transformedObj)就可以啦。
内容的提问来源于stack exchange,提问作者user10046747
相关产品推荐
相关产品推荐

