forEach는 반복문인 for문처럼 해당 배열의 데이터를 하나씩 순회하는 기능입니다. 다른 map,filter,reduce와는 다르게, return문이 사용이 불가능하며, 새로운 변수에 새로운 배열을 선언하지 않습니다. 그래서 callback함수를 사용한 새로운 배열을 선언하려면 함수 밖에서 선언한 변수를 사용하여야 합니다.
사용 구문은 다음과 같습니다.
Array.forEach(callbackfunction(value, index, array)
value는 현재 데이터, index는 현재 데이터의 인덱스값, array는 사용되는 배열 본인을 나타냅니다.
const = arr = [1,2,3,4,5,6]
let arr2 [];
arr.forEach(function(value){
if(value % 2 === 0) arr2.push(value);
});
console.log(arr2); // [2,4,6]
위의 예시처럼 return문을 사용할 수 없기때문에, 함수 밖에 변수를 선언한 후, 함수 내에서 조건에 맞는 데이터만 따로 push를 사용해 넣어주는 모습입니다.