JSFiddle - React, Tailwind, and code Playground
by pierian_design
HTML
<div id="out">
</div>
JavaScript
var res = [
[[1, 2], [5, 6, 7], [9, 10, 11, 12]],
[[10, 20, 30], [50, 60, 70, 80]],
[[100, 200, 300, 400], [500, 600], [900, 1000], [1100, 1200]]
]
function callSum(a, b) {
return a + b;
}
function callCount(a, b) {
//console.log(a);
}
function callAverage(a, b) {
return 'no';
}
function callMax(a, b) {
return Math.max(a, b);
}
function callMin(a, b) {
return Math.min(a, b);
}
function prepareValues(arrs, func){
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;
acc[i][j] = 2;
}else{
//acc[i][j] = func(acc[i][j],v);
return acc[i][j] = 1;
}
});
}
});
}
return acc;
},[]);
}
var sum = prepareValues(res, callSum);
var count = prepareValues(res, callCount);
var average = prepareValues(res, callAverage);
var max = prepareValues(res, callMax);
var min = prepareValues(res, callMin);
const display = document.getElementById("out");
display.innerHTML = "сумма массивов:" + "<br>"
+ JSON.stringify(sum) + "<hr>"
/*+ "кол-во значений:" + "<br>"
+ JSON.stringify(count) + "<hr>"*/
+ "максимальные значеня:" + "<br>"
+ JSON.stringify(max) + "<hr>"
+ "минимальные значеня:" + "<br>"
+ JSON.stringify(min) + "<hr>"
;