如何在React JS/JavaScript中将对象数组转换为指定键值结构
解决方案:用JavaScript的
map()方法实现结构转换 这事儿很容易搞定,JavaScript的map()方法就是干这个的——遍历数组里的每一项,把它们转换成你想要的结构。直接上代码:
// 你的原始数组 const originalData = [ {"genericName":"genesName test","genericId":3,"code":"generics"}, {"genericName":"genesName fhfghsd","genericId":8,"code":"generics"}, {"genericName":"genesName fhld","genericId":11,"code":"generics"} ]; // 转换逻辑 const transformedData = originalData.map(item => { return { // 用原item的code值作为新对象的键 [item.code]: { // 只保留genericId字段 genericId: item.genericId } }; }); // 输出结果就是你想要的结构 console.log(transformedData);
代码解释
map()方法会遍历原数组的每一个元素,对每个元素执行我们定义的转换逻辑- 这里用了计算属性名
[item.code],这样即使以后code字段的值变化了(比如不是"generics"了),代码也能自动适配,不用硬写键名 - 我们只从原对象里提取了
genericId,生成你需要的嵌套结构
如果想要更简洁的写法,还可以用箭头函数的隐式返回(注意要给对象加括号,不然会被当成函数体的大括号):
const transformedData = originalData.map(item => ({ [item.code]: { genericId: item.genericId } }));
运行这段代码后,你得到的结果就是:
[ {"generics": {"genericId": 3}}, {"generics": {"genericId": 8}}, {"generics": {"genericId": 11}} ]
内容的提问来源于stack exchange,提问作者Masudul Hasan Shawon
相关产品推荐
相关产品推荐

