Page 121 - 6105
P. 121
function isPositive (number) {
return number> 0;
}
alert (arr.every (isPositive)); // false, не всі
позитивні
alert (arr.some (isPositive)); // true, є хоч одна
позитивна
reduce / reduceRight
Метод «arr.reduce (callback [, initialValue])» використовується для
послідовної обробки кожного елемента масиву із збереженням проміжного
результату.
Це один з найскладніших методів для роботи з масивами. Але його варто
освоїти, тому що часом з його допомогою можна в кілька рядків вирішити задачу,
яка інакше зажадала б в рази більше місця і часу. Метод reduce використовується
для обчислення на основі масиву будь-якого єдиного значення, інакше кажуть
«для згортки масиву». Він застосовує функцію callback по черзі до кожного
елементу масиву зліва направо, зберігаючи при цьому проміжний результат.
Аргументи функції callback (previousValue, currentItem, index, arr):
previousValue – останній результат виклику функції, він же «проміжний
результат»;
currentItem – поточний елемент масиву, елементи перебираються по черзі
зліва-направо;
index – номер поточного елемента;
arr – оброблюваний масив;
Крім callback, методу можна передати «початкове значення» – аргумент
initialValue. Якщо він є, то при першому виклику значення previousValue
дорівнюватиме initialValue, а якщо у reduce немає другого аргументу, то воно
дорівнює першому елементу масиву, а перебір починається з другого.
120