Как найти самый большой индекс вложенных массивов в массив?
Есть задача, нужно найти самый большой индекс вложенных массивов в массив. Но я что-то делаю не то, не получается вывести. Целый день мучаю, но никак.
При нажатии .b-9 выполняете функцию f9. Функция должна выводить в out-9 самый большой индекс вложенных массивов в массив a9. В данном случае это 4.
let a9 = [
[4, 3, 2, 5],
[2, 5, 4],
[0, 0, 0, 0, 0]
];
function f9() {
out = '';
let num = a9[0];
for (let key in a9) {
for (let i in a9[key]) {
if (a9[key][i] > num.length)
num = [i];
}
}
out = num;
document.querySelector('.out-9').innerHTML = out;
}
document.querySelector('.b-9').addEventListener('click', f9);
<section>
<button class="button-primary b-9">Task-9</button>
<div class="out-9"></div>
</section>
Ответы (2 шт):
Автор решения: entithat
→ Ссылка
Пример с map():
Math.max(...a9.map(e => e.length)) - 1
Либо просто:
let a9 = [
[4, 3, 2, 5],
[2, 5, 4],
[0, 0, 0, 0, 0]
];
var max = a9[0].length;
for (let e of a9) {
max = max < e.length ? e.length : max;
}
console.log(max - 1);
Автор решения: Sk MAIL
→ Ссылка
let a9 = [[4, 3, 2], [2, 5], [0, 0, 0, 0, 0]];
function f9() {
let max = 0;
for (let i = 0; i < a9.length; i++) {
let maxIndex = a9[i].length - 1;
if (maxIndex > max) {
max = maxIndex}
}
return max
}
document.querySelector('.b-9').addEventListener('click', () => {
document.querySelector('.out-9').innerHTML = f9();
});