Метод .forEach() , по сути, представляет собой цикл for, внутри которого callback функция последовательно обрабатывает все элементы массива.
Метод .forEach() может передавать в callback функцию три параметра:
Это, пожалуй, единственный метод, который ничего не возвращает. Поэтому используется для внешних обработок, например, для вывода элементов массива на печать.
В частности, в последнем примере с помощью методов .forEach() и .includes() создаётся новый массив result, который содержит в себе общие элементы массивов arr1 и arr2, то есть является результатом пересечения этих массивов.
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
};
// variant #1
arr.forEach(function(item) {
console.log(item);
});
// variant #2
arr.forEach(item => console.log(item));
console.log('------------------------------------');
// callback function parameters
arr.forEach((item, idx, array) => console.log(item, idx, array));
console.log('------------------------------------');
// get intersection of arrays
let arr1 = [1, 3, 5];
let arr2 = [1, 2, 3, 4, 5];
let result = [];
let res = arr1.forEach(item => {
if (arr2.includes(item)) return result.push(item);
});
console.log(result); // [ 1, 3, 5 ]
console.log(res); // undefined
Дополнительную информацию вы можете найти в этом видео: