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
   116   117   118   119   120   121   122   123   124   125   126