Блог

Массивы Google Apps Script и JavaScript. Метод .forEach()

Краткое описание метода

Метод .forEach() , по сути, представляет собой цикл for, внутри которого callback функция последовательно обрабатывает все элементы массива.

Метод .forEach() может передавать в callback функцию три параметра:

  1. текщее значение элемента массива item
  2. необязательный параметр index - индекс текущего элемента
  3. необязательный и редко используемый параметр array

Это, пожалуй, единственный метод, который ничего не возвращает. Поэтому используется для внешних обработок, например, для вывода элементов массива на печать.

В частности, в последнем примере с помощью методов .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

Дополнительную информацию вы можете найти в этом видео: