Методът JavaScript Array forEach () изпълнява предоставена функция за всеки елемент на масив.
Синтаксисът на forEach()
метода е:
arr.forEach(callback(currentValue), thisArg)
Тук arr е масив.
forEach () Параметри
В forEach()
метода се в:
- callback - Функцията за изпълнение на всеки елемент на масив. Включва:
- currentValue - Текущият елемент, който се предава от масива.
- thisArg (по избор) - Стойност, която да се използва както
this
при изпълнение на обратен разговор . По подразбиране е такаundefined
.
Върната стойност от forEach ()
- Връща
undefined
.
Бележки :
forEach()
не променя оригиналния масив.forEach()
изпълнява сеcallback
веднъж за всеки елемент на масив по ред.forEach()
не изпълняваcallback
за елементи на масив без стойности.
Пример 1: Печат на съдържание на масив
function printElements(element, index) ( console.log('Array Element ' + index + ': ' + element); ) const prices = (1800, 2000, 3000, , 5000, 500, 8000); // forEach does not execute for elements without values // in this case, it skips the third element as it is empty prices.forEach(printElements);
Изход
Елемент на масива 0: 1800 Елемент на масива 1: 2000 Елемент на масива 2: 3000 Елемент на масива 4: 5000 Елемент на масива 5: 500 Елемент на масива 6: 8000
Пример 2: Използване на thisArg
function Counter() ( this.count = 0; this.sum = 0; this.product = 1; ) Counter.prototype.execute = function (array) ( array.forEach((entry) => ( this.sum += entry; ++this.count; this.product *= entry; ), this) ) const obj = new Counter(); obj.execute((4, 1, , 45, 8)); console.log(obj.count); // 4 console.log(obj.sum); // 58 console.log(obj.product); // 1440
Изход
4 58 1440
Тук отново можем да видим, че forEach
прескача празния елемент. thisArg
се предава както this
вътре в дефиницията на execute
метода на обекта Counter.
Препоръчително четене: Карта на масив JavaScript ()