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)