forEach메서드는 배열에서 사용가능한 메서드로 인자의 콜백 함수를 배열 요소 각각에 대해 실행하는 메서드입니다.
var array = ['a','b','c','d','e'];
arr.forEach((v,i,arr)=>{
console.log(v);
console.log(i);
console.log(arr);
});
결과
>
'a'
0
['a','b','c','d','e']
'b'
1
['a','b','c','d','e']
'c'
2
['a','b','c','d','e']
'd'
3
['a','b','c','d','e']
'e'
4
['a','b','c','d','e']
이와같이 forEach안의 콜백함수의 인자는 각각
첫번째 인자는 현재 값
두번째 인자는 index
세번째 인자는 현재 배열값
이라고 볼 수 있겠습니다.
forEach메서드를 사용할때 포함하고싶지않은 값이나 index가 있다면 return 을 사용하면 됩니다
var array = ['a','b','c','d','e'];
var array = ["a", "b", "c", "d", "e"];
array.forEach((v, i, arr) => {
if (i == 1) {
return;
}
console.log(v);
});
결과
>
a
c
d
e
이런식으로 특정 index의 값만을 출력하지 않거나
var array = ["a", "b", "c", "d", "e"];
var check = "c";
var stop = false;
array.forEach((v, i, arr) => {
if (stop) return;
if (v == "c") {
stop = true;
}
console.log(v);
});
결과
>
a
b
c
특정조건에서 더이상 실행되지 않게 설정할 수 있습니다.
forEach는 배열의 요소들을 이용하여 콜백함수를 사용하는 메서드로
map과는 달리 배열을 반환하지 않기 때문에 배열요소들을 활용만 하기위해서 사용하면 될것 같습니다.