
forEach 메서드는 callback 함수를 매개변수로 받는데, 이 callback 함수는 매개변수로 요소(element)와 인덱스(index)를 받습니다. 하지만, forEach 메서드는 인덱스를 매개변수로 받지 않는 경우가 있습니다. 이 경우 인덱스는 undefined가 됩니다.
이러한 문제를 해결하고자 하는 방법은 두 가지가 있습니다.
1. 인덱스를 매개변수로 받는 callback 함수를 사용합니다. 예를 들어, 다음과 같은 코드가 있습니다.
#hostingforum.kr
javascript
let arr = [1, 2, 3, 4, 5];
arr.forEach(function(element, index) {
console.log('인덱스 : ' + index + ', 요소 : ' + element);
});
2. forEach 메서드 대신 for...of 문을 사용합니다. for...of 문은 인덱스를 매개변수로 받지 않습니다. 예를 들어, 다음과 같은 코드가 있습니다.
#hostingforum.kr
javascript
let arr = [1, 2, 3, 4, 5];
for (let element of arr) {
console.log('요소 : ' + element);
}
또한, forEach 메서드 대신 Array.prototype.map(), Array.prototype.filter(), Array.prototype.reduce()와 같은 메서드를 사용할 수도 있습니다. 이 메서드들은 인덱스를 매개변수로 받지 않습니다.
2025-06-18 13:51