JSFiddle - React, Tailwind, and code Playground
JavaScript
console.clear()
var data1 = [
{
sessionInformation: [{id: 1, name: "Session first"}],
packageInformation: [{user: "Pol", id: 2}]
},
{
sessionInformation: [{id: 1, name: "Session second"}]
},
{
sessionInformation: [{id: 1, name: "Session second"}]
}
];
var data2 = [
{
sessionInformation: [{id: 1, name: "Session first"}],
packageInformation: [{user: "Pol", id: 2}]
},
{
sessionInformation: [{id: 1, name: "Session second"}]
},
{
packageInformation: [{user: "Mike", id: 3}],
sessionInformation: [{id: 1, name: "Session second"}]
}
];
function myFunc(carry, currentElem) {
if (currentElem.packageInformation && currentElem.packageInformation[0]) {
carry.packageInformation.push(currentElem.packageInformation[0])
}
return carry
}
var processed1 = data1.reduce(myFunc, {packageInformation: []})
var processed2 = data2.reduce(myFunc, {packageInformation: []})
console.table(processed1)
console.table(processed2)