본문 바로가기

Front-End/JavaScript

메소드 (forEach , map , filter )

for Each
배열의 각 요소에 대해 주어진 동작을 "실행"한다.

 

각 요소에 대해 반복문을 돌린다. 그러나, 배열 자체를 바꾸진 않는다.
그래서 "특정상황"에만 쓴다. (실행은 하되,새롭게 배열을 만들고 싶지 않을 때)

 

 

 

배열이 있으면 , 그 요소에 각각 함수나 동작을 실행하고 싶을 때 쓰는 것이다.
const numbers = [1, 2, 3, 4];
 
// 각 숫자를 두 배로 만들어 출력하는 예제
numbers.forEach((number) => {
console.log(number * 2);
});
// 결과: 2, 4, 6, 8
그러니까 각각이라는게 지금처럼 1 ,2,3,4 가 콘솔로그에 각각 찍히는거지
이걸 어디에 쓰느냐?
만든 배열에 뭘 동작하고 싶을 때 쓰는거지. *, % , /  , + - 등등.
근데 얘는 실행만 하고 그 결과를 바꾸지 않음.

 

1,2,3,4 그대로인거임.
 
출력을 하거나 각 요소에 대해 특정한 작업을 실행하되,
그 작업의 결과를 새로운 배열에 담고 싶지 않은 경우에 사용된다.

 


map
 
배열의 각 요소에 대해 주어진 함수를 적용하고, 그결과를 새로운 배열로 반환한다.

 

const numbers = [1, 2, 3, 4];
 
const doubled = numbers.map((number) => {
return number * 2;
});
// doubled는 [2, 4, 6, 8]
 
그러니까 forEach는 "실행","출력"만 하는거고
map은 진짜로 "바꾸는 것"이다.
현업에서는 map을 훨씬 많이 쓸 것이다.

filter
필터 알잖아. "거른다"
위와 같이 배열에 쓰는 메소드다.
조건에 만족하는 요소만 쓰는거임
filter메소드는 인자로 함수가 들어간다.
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
 
const evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
 
console.log(evenNumbers); // 출력: [2, 4, 6, 8, 10]
 

'Front-End > JavaScript' 카테고리의 다른 글

함수  (0) 2024.07.17
자료형 , 연산자  (0) 2024.07.17
조건문 , 반복문 정리  (0) 2024.07.16
빌트인 생성자 Date(JS)  (0) 2024.03.15
DOM이란?  (0) 2024.03.14