Answer
t.me/js_testОтвет:
forEach(); Math.max(...spreadOperator) с методом array.map();
Объяснение:
Есть множество вариантов решения данной задачи, но ниже будет показано два из них.
Первый - решение с помощью вложенных циклов. Для каждого элемента во внешнем массиве просмотрим его вложенный массив и найдём наибольшее значение, а затем вставим его в новый массив. Будем использовать forEach(). Если вдруг кто-то забыл, то метод forEach() выполняет функцию callback один раз для каждого элемента, находящегося в массиве в порядке возрастания. Она не будет вызвана для удалённых или пропущенных элементов массива. Функция callback вызывается с тремя аргументами: значением элемента, индексом элемента и массивом, по которому осуществляется проход.
Второй - использование метода Math.max(...spreadOperator) с методом array.map() для циклического перебора каждого элемента во внешнем массиве, возврата максимального значения из вложенного массива и прямого возврата этого вновь созданного массива. Если вдруг кто-то забыл, то метод map() создаёт новый массив с результатом вызова указанной функции для каждого элемента массива. Функция callback вызывается с тремя аргументами: значением элемента, индексом элемента и массивом, по которому осуществляется проход.
Код для проверки:
// вариант с forEach
function largestArr(arr) {
let arrayOfMaxValues = [];
arr.forEach(subArr => {
let maxSubArrVal = 0;
subArr.forEach(item => {
if (item > maxSubArrVal) {
maxSubArrVal = item;
}
});
arrayOfMaxValues.push(maxSubArrVal);
});
return arrayOfMaxValues;
}
// вариант Math.max(...spreadOperator) с методом array.map()
function largestArr(arr) {
return arr.map(subArr => Math.max(...subArr));
}