如何在JavaScript中将无键名对象结构转换为标准键值对对象?
在JavaScript中重组对象结构的解决方案
首先得提一句:你给出的原始对象写法在JavaScript里是无效语法哦😅,我猜你应该是想表达「一组键名数组」和「一组对应的值数组」的组合,比如:
// 修正后的原始数据格式(符合JS语法) const rawData = [['id', 'name', 'description'], [22, 'test', 'lorem']];
如果是这样的话,咱们可以用几种简单的方式把它转换成你想要的标准键值对对象:
方法一:使用reduce(简洁高效,推荐)
reduce方法可以帮我们遍历键数组,同时把对应位置的值赋值给新对象:
const [keys, values] = rawData; // 解构取出键数组和值数组 const targetObj = keys.reduce((result, key, index) => { result[key] = values[index]; // 按索引对应键和值 return result; }, {}); // 初始值是空对象 console.log(targetObj); // 输出:{ id: 22, name: 'test', description: 'lorem' }
方法二:使用forEach(逻辑更直观,适合入门)
如果觉得reduce有点抽象,用forEach遍历键数组也能实现同样的效果:
const [keys, values] = rawData; const targetObj = {}; keys.forEach((key, index) => { targetObj[key] = values[index]; }); console.log(targetObj); // 同样得到目标结构
额外说明
如果你的原始数据实际结构和我假设的不一样(比如是其他特殊格式),可以补充更多细节,但根据你给出的示例,上面的方案应该完全适配你的需求~
内容的提问来源于stack exchange,提问作者Emergard
相关产品推荐
相关产品推荐

