#javascript #arrays
#javascript #массивы
Вопрос:
Я хочу получить наибольшее значение из каждого подмассива и поместить эти значения в совершенно новый массив, но на выходе возвращается пустой массив, я не знаю, что не так с этим кодом.
function largestOfFour(arr) {
let newArr = []
for(let i=0; i<arr.lentgh; i ){
newArr.push(Math.max(...arr[i]))
}
return newArr;
}
let largest = largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
console.log(largest);
Комментарии:
1.
length
правописание имеет значение.2. Это опечатка, вы написали lentgh
Ответ №1:
Функция работает правильно для меня, но если бы я должен был ее переписать:
Я бы посоветовал вам сопоставить массив вместо цикла. Что-то вроде:
function maxOf(arr) {
return arr.map(sa => Math.max(...sa))
}
РЕДАКТИРОВАТЬ: у вас опечатка, ее length
не должно быть lentgh
Ответ №2:
let largestSub = (arr) => [...arr.map(e => Math.max(...e))]
let result = largestSub([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]])
console.log(result)