forEach()
forEach() 는 배열의 메서드이다. 주어진 함수를 배열에 있는 각 요소에 대해 오름차순으로 한번씩 실행할때 사용되는 함수이다.
arr.forEach(callback(currentvalue[, index[, array]])[, thisArg])
callback
:각 요소에 대해 실행할 함수.
currentValue
:처리할 현재 요소.
index
:처리할 현재 요소의 인덱스.
array
: forEach()
를 호출한 배열.
thisArg
: callback
을 실행할 때 this
로 사용할 값.
🐧 예외를 던지지 않고는 중간에 forEach()
를 멈출 수는 없다. 중간에 멈춰야 한다면 그 코드에서 forEach()
는 적절한 함수가 아닐수도 있다.
[Array.prototype.every()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/every)
[Array.prototype.some()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/some)
[Array.prototype.find()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/find)
[Array.prototype.findIndex()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex)
다른 배열 메서드 [every()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/every)
, [some()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/some)
, [find()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/find)
, [findIndex()](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex)
는 배열 요소를 판별 함수에 전달하고, 그 결과의 참/거짓 여부에 따라 반복의 종료 여부를 결정합니다.for
반복문을 forEach()
로 바꾸기
return 값으로 새로운 배열이 필요하지 않는 경우라면 forEach 메서드를 활용하는 것이 옳다고 생각한다.
‼️ map()메서드와의 차이점!!! 개념알아두기!!!
const items = ['item1', 'item2', 'item3'];
const copy = [];
// 이전
for (let i=0; i<items.length; i++) {
copy.push(items[i]);
}
// 이후
items.forEach(function(item){
copy.push(item);
});