JSFiddle - React, Tailwind, and code Playground

by pierian_design

JavaScript

var ind = ["Apple", "Pear", "Banana"];
var arr = [
  ["Apple", "Banana", "Pear", "Pear", "Apple", "Apple", "Banana"],
  [11, 12, 34, "", 76, 23, 232],
  [33, 54, 22, 11, 23, 21, 33]
];

const result = arr.reduce(function(r, e, i){
  const first = arr[0];
  if (i > 0) {
    r[i] = []
    e.forEach(function(el, j){
      const index = ind.indexOf(first[j])
      if (!r[i][index]) r[i][index] = [el];
      else r[i][index].push(el)
    })
  }

  return r;
}, [ind]);

console.log(result)