javascript - 合并数组内部的所有数组
问题描述
我在组合数组时遇到问题,我想得到来自另一个数组的数组。
数据
datas = [
{
"id": "22333",
"name": "",
"details": [
{
"value": 1
},
{
"value": 2
}
]
},
{
"id": "4444",
"name": "",
"details": [
{
"value": 99
},
{
"value": 66
}
]
}
]
预期产出
final = [
{
"value": 1
},
{
"value": 2
},
{
"value": 99
},
{
"value": 66
}
]
代码
datas.map((data) => ({ ...data.details}))
解决方案
该
flatMap
方法返回一个新数组,该数组通过将给定的回调函数应用于数组的每个元素,然后将结果展平一级而形成。它与深度为 1 的 amap
后跟 a相同flat
,但比分别调用这两个方法更有效。
const datas=[{id:"22333",name:"",details:[{value:1},{value:2}]},{id:"4444",name:"",details:[{value:99},{value:66}]}];
const flattened = datas.flatMap(obj => obj.details);
console.log(flattened);
获取数组map
上的实际数字。details
const datas=[{id:"22333",name:"",details:[{value:1},{value:2}]},{id:"4444",name:"",details:[{value:99},{value:66}]}];
const flattened = datas.flatMap(obj => {
return obj.details.map(el => el.value);
});
console.log(flattened);
推荐阅读
- linux - linux上的“glm\glm.hpp:没有这样的文件或目录”错误
- excel - Excel:计算金额 - 另一个单元格 (5+8+3+9+1) 中一个单元格 (58391) 中的数字
- audio - PCM流实时音乐压缩
- css - 如何使用 CSS 通过使用的降价列表符号设置降价列表项目符号样式
- blackboard - 烦人的蓝色问号“支持”
- php - 控制器不发送数据代码点火器
- single-sign-on - 通过 iframe 打开 OneLogin 链接
- c# - 同时打开url多次,如c#上的fiddler
- c++ - 编写一个从标准输入读取整数直到文件结尾的 C++ 程序
- relayjs - 如何处理 Relay Modern v6 / 实验中的嵌套路由