JSFiddle - React, Tailwind, and code Playground

by pierian_design

JavaScript

var ind = ["Apple", "Pear", "Banana"];
var indRow = ["Orange", "Hui", "Maslo"];

var arr = [
		[ "",           "Hui",   "Maslo",   "",   "Hui",   "Maslo",   "Orange"     ],
    [ "",              12,        34,         54,      76,        23,        232     ],
    [ "Apple",         54,        22,         11,      23,        21,        33      ],
    [ "Banana",        54,        65,         11,      43,        66,        75      ],
    [ "Pear",          23,        "",         46,      76,        33,        98      ],
    [ "Apple",         12,        34,         54,      76,        23,        232     ],
    [ "Banana",        54,        22,         11,      23,        21,        33      ],
];

var result = ind.map(function(row){

  return cwsCreateEmptyArray(indRow.length);
  
});              

arr.forEach(function(x, i){

	var first = arr[0];
  var index = ind.indexOf(x[0]);

  x.forEach(function(el, j){
  
		var index2 = indRow.indexOf(first[j]);
    
    if (i > 0 && j > 0 && index != -1 && index2 != -1) {

      result[index][index2].push(el);

    }

  });

});

/*result.forEach(function(row, i){
  row.splice(0, 1);
});*/

function cwsCreateEmptyArray(n) {

  var emptyArray = new Array(n);
  
  for (var i = 0; i < n; i++) {
    emptyArray[i] = [];
  }
  
  return emptyArray;
  
}    

console.log(result);