JavaScript多对象数据提取:将多对象caracvalue合并为单个对象
合并数组对象中的caracvalue为单个对象
没问题!要把你给出的多对象数组里的所有caracvalue数组合并成一个单独的对象,用JavaScript的数组方法就能轻松实现。
原始数据
const originalArray = [ { "name": "Field 1", "carac": "Format carte mère", "caracvalue": [ "1", "2" ] }, { "name": "Field 2", "carac": "Format carte mère", "caracvalue": [ "3", "4" ] } ];
实现方法
我们可以用flatMap提取每个对象里的caracvalue数组并自动合并,最后组装成目标格式:
const mergedResult = { caracvalue: originalArray.flatMap(item => item.caracvalue) }; console.log(mergedResult); // 输出: { "caracvalue": [ "1", "2", "3", "4" ] }
补充说明
flatMap会遍历数组中的每个对象,提取对应caracvalue数组的同时,自动将这些子数组扁平化合并为一个大数组,一步到位很方便。- 如果你的运行环境不支持
flatMap(比如旧版浏览器),也可以用map加concat的组合方式替代:
这样也能得到完全一致的结果。const mergedResult = { caracvalue: [].concat(...originalArray.map(item => item.caracvalue)) };
内容的提问来源于stack exchange,提问作者user8283849
相关产品推荐
相关产品推荐

