JSFiddle - React, Tailwind, and code Playground

by pierian_design

HTML

<div id="out">

</div>

JavaScript

var arr1 = [[1, 2], [5, 6, 7], [9, 10, 11, 12]];
var arr2 = [[10, 20, 30], [50, 60, 70, 80]];
var arr3 = [[100, 200, 300, 400], [500, 600], [900, 1000], [1100, 1200]];

function summ_array(...arrs){

   const cb = arrs.pop();
   return arrs.reduce(function(acc,arr){
      if( Array.isArray(arr))
         arr.forEach(function(subarr, i){
            if( Array.isArray(subarr)){
               if(!Array.isArray(acc[i])) 
                  acc[i] = [];
               subarr.forEach(function(v, j){
                  if(!acc[i][j]){
                     acc[i][j] = v;
                  }else{
                    acc[i][j] = cb(acc[i][j],v);
                  }
                  
               });
            }
         });
      return acc;
   },[]);
   
}

var summ = summ_array(arr1, arr2, arr3, (a,b)=>a+b);
var substract = summ_array(arr1, arr2, arr3, (a,b)=>a-b);
var multiple = summ_array(arr1, arr2, arr3, (a,b)=>a*b);
var max = summ_array(arr1, arr2, arr3, (a,b)=>Math.max(a,b));
var min = summ_array(arr1, arr2, arr3, (a,b)=>Math.min(a,b));
console.log(summ);

const display = document.getElementById("out");
display.innerHTML = "исходные данные:" + "<br>"
                  + JSON.stringify(arr1) + "<br>"
                  + JSON.stringify(arr2) + "<br>"
                  + JSON.stringify(arr3) + "<hr>"
                  + "сумма массивов:" + "<br>"
                  + JSON.stringify(summ) + "<hr>"
                  + "разность массивов:" + "<br>"
                  + JSON.stringify(substract) + "<hr>"
                  + "максимальные значения:" + "<br>"
                  + JSON.stringify(max) + "<hr>"
                  + "минимальные значения:" + "<br>"
                  + JSON.stringify(min) + "<hr>"
                  + "произведение массивов:" + "<br>"
                  + JSON.stringify(multiple);