let arr = [
["Женя", 3],
["Иван", 1],
["Виктор", 4],
["Константин", 1],
];
let max = arr.sort((a, c) => c[1] - a[1])[0];
console.log(max);
Это "короче", но линейный поиск максимума через обычный цикл эффективнее, чем сортировка. Об этом конечно не надо думать, пока элементов не миллион.
Хотя в обычном цикле надо ходить из конца, если ищем первый макс-элемент.
let arr = [
["Женя", 3],
["Иван", 1],
["Виктор", 4],
["Константин", 1],
["Moo", 4],
];
let max = arr[0];
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i][1] >= max[1]) max = arr[i];
}
console.log(max);
Можно и через "эти ваши reduce-ы", которые не лучше обычного цикла...
let arr = [
["Женя", 3],
["Иван", 1],
["Виктор", 4],
["Константин", 1],
["Moo", 4],
];
let index = arr.reduce((max, e, i, a) => e[1] > a[max][1] ? i : max, 0);
let max = arr[index];
console.log(max);
перебор то актуален, но, наверное, не в таких случаях.
действия как ни как происходят с элементами массива, поэтому я ожидал получить решение с использованием какого-нибудь метода по типу .reduce/.forEach - скорее всего такой код был бы короче.
но, с циклом тоже интересно