У меня есть такой массив:
var arr = [[12,45,75], [54,45,2],[23,54,75,2]];
Я хочу узнать самый большой элемент и самый маленький элемент из всех элементов вложенного массива:
Минимум должно быть: 2
а также
Максимум должно быть 75
Я пробовал следующие функции, но они не работают:
function Max(arrs)
{
if (!arrs || !arrs.length) return undefined;
let max = Math.max.apply(window, arrs[0]), m,
f = function(v){ return !isNaN(v); };
for (let i = 1, l = arrs.length; i<l; i++) {
if ((m = Math.max.apply(window, arrs[i].filter(f)))>max) max=m;
}
return max;
}
function Min(arrs)
{
if (!arrs || !arrs.length) return undefined;
let min = Math.min.apply(window, arrs[0]), m,
f = function(v){ return !isNaN(v); };
for (let i = 1, l = arrs.length; i<l; i++) {
if ((m = Math.min.apply(window, arrs[i].filter(f)))>min) min=m;
}
return min;
}
Он выдает Max как 75 и min как 12.
Любое руководство будет оценено.
Также пробовал другие ответы в SO, но никто не помогает.
Ответ на Объединить/сгладить массив массивов в JavaScript? решает проблему слияния массивов.
В то время как моя проблема состоит в том, чтобы сохранить массив как есть и выполнять операции.