Работа с массивами, 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, время: 19:09. |