javascript - ReactJS如何从数组数组更改为单个数组
问题描述
我的问题是我有那个数组:
[
{
"_id":"5f32f3d98fe32813803d32e3",
"StartdateFormatPL":"11.08.2020, 01:30:00",
"EndDateFormatPL":"11.08.2020, 02:00:00",
"Hours":[
{
"id":"f1dcc-33f8-b32a-3aaa-7bb1b0fcaa6f",
"hour":"11.08.2020, 01:30:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"d8cfbd6-148a-8e0a-41d4-614d7fa6875",
"hour":"11.08.2020, 01:35:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"2e71b4-dcb-fb01-1fa0-8eddc5cbd15",
"hour":"11.08.2020, 01:40:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"cbe26f3-1af2-81a7-3c0b-8ec4be286f15",
"hour":"11.08.2020, 01:45:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"2475ddf-e6ee-6df7-d22d-860e8a31053",
"hour":"11.08.2020, 01:50:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"ad23bc-1506-26da-c272-cfca177565a",
"hour":"11.08.2020, 01:55:00",
"isBooked":false,
"isConfirmed":false
}
],
"__v":0
},
{
"_id":"5f32f60ecee0dd13987cf6a1",
"StartdateFormatPL":"11.08.2020, 02:00:00",
"EndDateFormatPL":"11.08.2020, 02:30:00",
"Hours":[
{
"id":"e2bbb4-615e-7aad-0bfd-c7156c5426",
"hour":"11.08.2020, 02:00:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"fdd2c8-67da-b517-7f85-8e2612f28",
"hour":"11.08.2020, 02:05:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"5befec6-2a2d-13b2-324d-cd7e86a7626",
"hour":"11.08.2020, 02:10:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"5d6cb20-80ad-3e38-a7e7-aa5feb88d37",
"hour":"11.08.2020, 02:15:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"b2c78-358-6176-666-862bacec408",
"hour":"11.08.2020, 02:20:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"ef3f5e-b60b-18a1-ac13-8542d48dc28f",
"hour":"11.08.2020, 02:25:00",
"isBooked":false,
"isConfirmed":false
}
],
"__v":0
}
]
这是我的 API 的响应。有两个单独的对象包含Hours Array
. 简而言之,这是一个数组,我想知道如何将它转换为一个数组,将它们连接成一个数组。我正在使用 ReactJS,我将有很多数组,而不仅仅是两个,我想将它们连接成一个..
总结 [Array] = {... [Array1] ...} {... [Array2] ...] 并最终得到 Object of : [{ Array1 + Array2 ....}]
提前感谢您的帮助。
预期结果:
"Hours":[
{
"id":"f1dcc-33f8-b32a-3aaa-7bb1b0fcaa6f",
"hour":"11.08.2020, 01:30:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"d8cfbd6-148a-8e0a-41d4-614d7fa6875",
"hour":"11.08.2020, 01:35:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"2e71b4-dcb-fb01-1fa0-8eddc5cbd15",
"hour":"11.08.2020, 01:40:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"cbe26f3-1af2-81a7-3c0b-8ec4be286f15",
"hour":"11.08.2020, 01:45:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"2475ddf-e6ee-6df7-d22d-860e8a31053",
"hour":"11.08.2020, 01:50:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"ad23bc-1506-26da-c272-cfca177565a",
"hour":"11.08.2020, 01:55:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"e2bbb4-615e-7aad-0bfd-c7156c5426",
"hour":"11.08.2020, 02:00:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"fdd2c8-67da-b517-7f85-8e2612f28",
"hour":"11.08.2020, 02:05:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"5befec6-2a2d-13b2-324d-cd7e86a7626",
"hour":"11.08.2020, 02:10:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"5d6cb20-80ad-3e38-a7e7-aa5feb88d37",
"hour":"11.08.2020, 02:15:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"b2c78-358-6176-666-862bacec408",
"hour":"11.08.2020, 02:20:00",
"isBooked":false,
"isConfirmed":false
},
{
"id":"ef3f5e-b60b-18a1-ac13-8542d48dc28f",
"hour":"11.08.2020, 02:25:00",
"isBooked":false,
"isConfirmed":false
}
],
"__v":0
}
]
解决方案
data.flatMap(({ Hours }) => Hours);
将数据映射到Hours
然后展平的数组。
该
flatMap()
方法首先使用映射函数映射每个元素,然后将结果展平为新数组。它与深度为 1的 amap()
后跟 a相同,但通常非常有用,因为将两者合并到一个方法中效率更高。flat()
flatMap()
const data = [
{
_id: "5f32f3d98fe32813803d32e3",
StartdateFormatPL: "11.08.2020, 01:30:00",
EndDateFormatPL: "11.08.2020, 02:00:00",
Hours: [
{
id: "f1dcc-33f8-b32a-3aaa-7bb1b0fcaa6f",
hour: "11.08.2020, 01:30:00",
isBooked: false,
isConfirmed: false
},
{
id: "d8cfbd6-148a-8e0a-41d4-614d7fa6875",
hour: "11.08.2020, 01:35:00",
isBooked: false,
isConfirmed: false
},
{
id: "2e71b4-dcb-fb01-1fa0-8eddc5cbd15",
hour: "11.08.2020, 01:40:00",
isBooked: false,
isConfirmed: false
},
{
id: "cbe26f3-1af2-81a7-3c0b-8ec4be286f15",
hour: "11.08.2020, 01:45:00",
isBooked: false,
isConfirmed: false
},
{
id: "2475ddf-e6ee-6df7-d22d-860e8a31053",
hour: "11.08.2020, 01:50:00",
isBooked: false,
isConfirmed: false
},
{
id: "ad23bc-1506-26da-c272-cfca177565a",
hour: "11.08.2020, 01:55:00",
isBooked: false,
isConfirmed: false
}
],
__v: 0
},
{
_id: "5f32f60ecee0dd13987cf6a1",
StartdateFormatPL: "11.08.2020, 02:00:00",
EndDateFormatPL: "11.08.2020, 02:30:00",
Hours: [
{
id: "e2bbb4-615e-7aad-0bfd-c7156c5426",
hour: "11.08.2020, 02:00:00",
isBooked: false,
isConfirmed: false
},
{
id: "fdd2c8-67da-b517-7f85-8e2612f28",
hour: "11.08.2020, 02:05:00",
isBooked: false,
isConfirmed: false
},
{
id: "5befec6-2a2d-13b2-324d-cd7e86a7626",
hour: "11.08.2020, 02:10:00",
isBooked: false,
isConfirmed: false
},
{
id: "5d6cb20-80ad-3e38-a7e7-aa5feb88d37",
hour: "11.08.2020, 02:15:00",
isBooked: false,
isConfirmed: false
},
{
id: "b2c78-358-6176-666-862bacec408",
hour: "11.08.2020, 02:20:00",
isBooked: false,
isConfirmed: false
},
{
id: "ef3f5e-b60b-18a1-ac13-8542d48dc28f",
hour: "11.08.2020, 02:25:00",
isBooked: false,
isConfirmed: false
}
],
__v: 0
}
];
const hours = data.flatMap(({ Hours }) => Hours);
console.log('hours', hours)
推荐阅读
- php - PHP 使用数据库中的最新版本
- python - 在 -Tweet 情绪分析上运行我的新数据时出现问题
- c - 尝试使用函数基于另一个列表创建排序列表
- vba - 运行时错误“1004”应用程序定义或对象定义错误
- java - 如何捕获 Fillo 未找到记录异常(Java)
- python - PySpark 布尔枢轴
- python - 将两个下一行数据添加到 Pandas 中的当前行
- javascript - 动态页面生成 Jquery Mobile
- c# - 如何从 OpenXMLRegex 更新 WmlDocument
- url - 将 SharePoint 列表中的 URL 替换为字符串/链接