I have the following array of arrays:
[
[ '3b5ec76c-a501-4edf-b97c-2526d6d3e147', '1 & 2' ],
[ '1f7a07f4-45aa-4a35-ad42-d3f187ee804a', '3 & 4' ],
[ 'c8a4eead-79ee-4d4b-a16d-68723798d338', '5 & 6' ]
]
I have to split the second item of every nested array and create two new arrays with them and the first item of a nested array like this:
[
[
[ '3b5ec76c-a501-4edf-b97c-2526d6d3e147', '1' ],
[ '3b5ec76c-a501-4edf-b97c-2526d6d3e147', '2' ]
],
[
[ '1f7a07f4-45aa-4a35-ad42-d3f187ee804a', '3' ],
[ '1f7a07f4-45aa-4a35-ad42-d3f187ee804a', '4' ]
],
[
[ 'c8a4eead-79ee-4d4b-a16d-68723798d338', '5' ],
[ 'c8a4eead-79ee-4d4b-a16d-68723798d338', '6' ]
]
]
I need this kind of nested array because I use it for a bulk insert in nodeJS.
My current method that I am using to create this array looks like this:
console.log(teams.map(team => {
let initialArray = []
let firstPlayer = [uuidv4(), team[0], team[1].split(' & ')[0]]
let secondPlayer = [uuidv4(), team[0], team[1].split(' & ')[1]]
data = (initialArray.concat(firstPlayer)).concat(secondPlayer)
return data
}))
And the response is like that:
[
[
'da4d27fb-06e3-4075-aaba-be799d793bbd',
'3b5ec76c-a501-4edf-b97c-2526d6d3e147',
'1',
'df869f69-76fb-41bc-af59-f86c1c623cfb',
'3b5ec76c-a501-4edf-b97c-2526d6d3e147',
'2'
],
[
'fb7c5620-6f20-4586-a82a-30c0ea39022e',
'1f7a07f4-45aa-4a35-ad42-d3f187ee804a',
'3',
'1d30d9d7-3d63-4309-a7d3-5bc6abe17500',
'1f7a07f4-45aa-4a35-ad42-d3f187ee804a',
'4'
],
[
'433159a1-ee21-4f91-ae6e-69fb359b747b',
'c8a4eead-79ee-4d4b-a16d-68723798d338',
'5',
'8321a976-9bae-408d-810b-f5508012d58e',
'c8a4eead-79ee-4d4b-a16d-68723798d338',
'6'
]
]
I have also tried a method using reduce found in this stackoverflow question: Return multiple arrays using "map" function
If somebody knows a method for this, or you need further explanations, let me know.
Thank you!