I have this situation in my application, one array with multiple arrays inside:
i need to convert this:
JavaScript
x
35
35
1
[
2
{
3
"tag": [
4
{
5
"key": "asdasd",
6
"label": "asdasd"
7
},
8
{
9
"key": "ddd",
10
"label": "ddd"
11
},
12
{
13
"key": "dwd",
14
"label": "dwd"
15
}
16
]
17
},
18
{
19
"tag": [
20
{
21
"key": "wdwd",
22
"label": "wdwd"
23
},
24
{
25
"key": "",
26
"label": ""
27
},
28
{
29
"key": "dwdw",
30
"label": "dwdw"
31
},
32
]
33
}
34
]
35
to one single array like:
JavaScript
1
7
1
[
2
0: {key: "...",label: "...."}
3
1: {key: "...",label: "...."}
4
2: {key: "...",label: "...."}
5
..
6
]
7
It’s a react web application, so it need to be in javascript solution.
Advertisement
Answer
Use Array.flatMap
:
JavaScript
1
2
1
const result = data.flatMap(obj => obj.tag);
2
JavaScript
1
34
34
1
const data = [{
2
"tag": [{
3
"key": "asdasd",
4
"label": "asdasd"
5
},
6
{
7
"key": "ddd",
8
"label": "ddd"
9
},
10
{
11
"key": "dwd",
12
"label": "dwd"
13
}
14
]
15
},
16
{
17
"tag": [{
18
"key": "wdwd",
19
"label": "wdwd"
20
},
21
{
22
"key": "",
23
"label": ""
24
},
25
{
26
"key": "dwdw",
27
"label": "dwdw"
28
},
29
]
30
}
31
];
32
33
const result = data.flatMap(obj => obj.tag);
34
console.log(result);