Работа с массивами, help!
Функция, которая принимает массив числовых значений, вычисляет и возвращает самый большой элемент массива после максимального. На пример, для массива [1, 2, 3, 4, 5, 5] это будет 4.:help:
|
Math.max и array.splice в помощь
|
alert([1, 2, 3, 4, 5, 5].reduce(function (result, item) { if (item > result.max) { result.last = result.max; result.max = item; } return result; }, {max: 0, last: 0}).last); |
:) мне интересно почему 4 когда нет элемента после максимального в этом массиве [1, 2, 3, 4, 5, 5]пусто тут
|
Цитата:
|
Имеется ввиду, из чисел ну например [1, 1, 5, 5] большее после максимального будет 1. Или среди [-1, -2, -5, -25, -125] большим после максимального будет -2
|
destus,
:) ok |
tvv90,
function fn(a) { a = a.slice().sort(function(a, b) { return a - b }); return a[a.indexOf(Math.max.apply(null, a))-1] }; alert( fn([-1, -2, -5, -25, -125]) ); //-2 alert( fn([1, 1, 5, 5]) ); //1 alert( fn([1, 2, 3, 4, 5, 5]) ); //4 |
Цитата:
|
Всем остальным также thanks!
|
Часовой пояс GMT +3, время: 23:43. |