“forEach()” 함수는 JavaScript 배열의 각 요소에 대해 지정된 함수를 실행하는 데 사용합니다. “forEach()” 함수를 사용하면 배열의 각 요소를 반복 처리할 때 유용하며, 각 요소에 대해 지정된 동작을 수행할 수 있습니다. 예제를 통해 하나씩 알아봅시다.
◎ 1. 구문 |
array.forEach(callback(currentValue, index, array), thisArg)
l “array”: 배열에서 각 요소에 함수를 적용할 배열입니다.
l “callback”: 배열의 각 요소에 적용할 함수를 정의하는 함수입니다.
l “currentValue”: 현재 처리 중인 요소의 값입니다.
l “index”: 현재 처리 중인 요소의 인덱스입니다.
l “array”: “forEach()”를 호출한 배열입니다.
l “thisArg” (선택적): 콜백 함수 내에서 “this” 키워드의 값으로 사용할 객체입니다.
◎ 2. 기본 사용 |
배열 “numbers”의 각 요소에 대한 반복 작업을 수행하며 각 요소에 값을 콘솔에 출력합니다.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach(function (number) {
console.log(number);
});
[출력]
1
2
3
4
5
◎ 3. 요소 및 인덱스 출력 |
배열 “fruits”의 각 요소와 해당 인덱스의 값을 출력합니다.
const fruits = ["apple", "banana", "cherry"];
fruits.forEach(function (fruit, index) {
console.log(“Fruit at index ${index}: ${fruit}”);
});
[출력]
Fruit at index 0: apple
Fruit at index 1: banana
Fruit at index 2: cherry
◎ 4. 화살표 함수 사용 |
화살표 함수를 사용하여 배열 “colors”의 각 요소를 출력합니다.
const colors = ["red", "green", "blue"];
colors.forEach((color) => {
console.log(“Color: ${color}”);
});
[출력]
Color: red
Color: green
Color: blue
◎ 5. this 키워드 “thisArg” 파라미터 사용 |
“thisArg”를 사용하여 콜백 함수 내에서 “this” 값의 컨텍스트를 설정합니다. 코드에서 “obj” 객체는 “value”라는 속성과 “printWithAddition”이라는 메소드를 가지고 있습니다. “printWithAddition” 메소드는 배열을 매개변수로 받아, 배열의 각 요소에 “this.value”를 더한 결과를 출력합니다.
“printWithAddition” 메소드 내의 “forEach” 메소드에서 두 번째 매개변수로 “this”를 전달하면, 콜백 함수 내에서 “this”는 “obj”를 가리킵니다. 따라서 “this.value + item”은 'Hello, Alice', 'Hello, Bob', 'Hello, Charlie'와 같은 결과를 출력하게 됩니다. 만약 두 번째 매개변수를 생략하면, 콜백 함수 내의 “this”는 “undefined”를 가리키게 되므로, “this.value”는 “undefined”가 되어 에러가 발생하게 됩니다.
let obj = {
value: 'Hello, ',
printWithAddition: function(arr) {
arr.forEach(function(item) {
console.log(this.value + item);
}, this);
}
};
let names = ['Alice', 'Bob', 'Charlie'];
obj.printWithAddition(names);
[출력]
Hello, Alice
Hello, Bob
Hello, Charlie
'웹 프로그래밍 > 자바스크립트' 카테고리의 다른 글
자바스크립트 match() 일치하는 문자열 검색 (1) | 2024.01.01 |
---|---|
자바스크립트 replace() 문자열 대체하고 바꾸기 (1) | 2023.12.31 |
자바스크립트 trim() 함수 앞뒤 공백 제거 (0) | 2023.12.31 |
자바스크립트 find() 함수 조건에 맞는 요소 찾기 (2) | 2023.12.31 |
자바스크립트 reduce() 함수 배열 결합해서 단일 값 반환하기 (0) | 2023.12.07 |
자바스크립트 Math.max() 함수 가장 큰 숫자 반환하기 (0) | 2023.12.07 |
자바스크립트 숫자 여부를 판단하는 isNaN 함수 사용하기 (0) | 2023.12.07 |
자바스크립트 함수 reverse() 배열 요소 역순으로 뒤집는 방법 (1) | 2023.12.03 |