상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
태평양의 해양관측 기술에는 어떤 것들이 있나요?
태평양의 섬 국가들이 직면한 환경 문제는 어떤 것들이 있나요?
여자한테 고백 멘트를 할 때, 내 취향을 드러내는 방법은?
여자한테 고백 멘트를 하면서 감정을 상처받지 않도록 하는 팁은?
항공 승무원으로서 자신의 경력을 어떻게 관리하나요?
상악동의 염증이 전신에 미치는 영향은 무엇인가요?
친구의 연인과도 안사귀는데 손깍지를 할 수 있을까?
안사귀는데 손깍지를 할 때 인간관계에 미치는 영향은?
횡렬로 정리된 데이터는 어떻게 활용되나요?
데이터 분석에서 종횡렬의 비율은 어떻게 될까요?
소개팅 만나서 사귀고 한달만에 헤어짐 이후 가장 큰 진전은 무엇인지 스스로 느끼나요?
참치 통조림의 원산지는 어디인가요?
Previous
Next
수정하기 - 자바스크립트에서 filter, map, reduce 메서드는 어떻게 작동하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/자바/ko'>자바</a><a href='https://sangseek.com/sangseeks/스크립트/ko'>스크립트</a>에서 `filter`, `map`, `reduce` 메서드는 배열을 다루는 데 매우 유용한 고차 함수입니다. 이들 각각은 배열의 요소를 처리하고 변환하는 데 사용되며, 함수형 프로그래밍의 개념을 기반으로 합니다. 아래에서 각 메서드의 작동 방식과 사용 예제를 자세히 설명하겠습니다. 1. `filter` 메서드 `filter` 메서드는 주어진 배열에서 특정 조건을 만족하는 요소들만을 추출하여 새로운 배열을 생성합니다. 이 메서드는 원본 배열을 변경하지 않으며, 조건을 만족하는 요소가 없을 경우 빈 배열을 반환합니다. 사용법 ```javascript const array = [1, 2, 3, 4, 5]; const evenNumbers = array.filter(num => num % 2 === 0); console.log(evenNumbers); // [2, 4] ``` 작동 원리 - `filter` 메서드는 배열의 각 요소에 대해 제공된 콜백 함수를 호출합니다. - 콜백 함수가 `true`를 반환하는 요소만 새로운 배열에 포함됩니다. - 배열의 모든 요소를 순회한 후, 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다. 2. `map` 메서드 `map` 메서드는 주어진 배열의 각 요소를 변환하여 새로운 배열을 생성합니다. 이 메서드 역시 원본 배열을 변경하지 않으며, 변환된 요소들로 이루어진 새로운 배열을 반환합니다. 사용법 ```javascript const array = [1, 2, 3, 4, 5]; const squaredNumbers = array.map(num => num * num); console.log(squaredNumbers); // [1, 4, 9, 16, 25] ``` 작동 원리 - `map` 메서드는 배열의 각 요소에 대해 제공된 콜백 함수를 호출합니다. - 콜백 함수의 반환값이 새로운 배열의 요소로 사용됩니다. - 배열의 모든 요소를 순회한 후, 변환된 요소들로 이루어진 새로운 배열을 반환합니다. 3. `reduce` 메서드 `reduce` 메서드는 배열의 각 요소를 누적하여 단일 값을 생성합니다. 이 메서드는 <a href='https://sangseek.com/sangseeks/초기값/ko'>초기값</a>을 설정할 수 있으며, 배열의 모든 요소를 순회한 후 최종적으로 하나의 값을 반환합니다. 사용법 ```javascript const array = [1, 2, 3, 4, 5]; const sum = array.reduce((accumulator, <a href='https://sangseek.com/sangseeks/currentValue/ko'>currentValue</a>) => accumulator + currentValue, 0); console.log(sum); // 15 ``` 작동 원리 - `reduce` 메서드는 배열의 각 요소에 대해 제공된 콜백 함수를 호출합니다. - 콜백 함수는 두 개의 인자를 받습니다: 누적값(`accumulator`)과 현재 값(`currentValue`). - 콜백 함수의 반환값은 다음 호출에서 누적값으로 사용됩니다. - 배열의 모든 요소를 순회한 후, 최종적으로 누적된 값을 반환합니다. 예제: 세 메서드의 조합 이 세 가지 메서드는 함께 사용하여 복잡한 데이터 변환을 수행할 수 있습니다. 예를 들어, 학생들의 <a href='https://sangseek.com/sangseeks/점수 배열/ko'>점수 배열</a>에서 60점 이상의 학생들의 점수를 제곱하여 새로운 배열을 만들고, 그 점수의 총합을 구하는 예제를 살펴보겠습니다. ```javascript const scores = [45, 67, 89, 34, 90, 56, 78]; // 1. 60점 이상의 점수 필터링 const passingScores = scores.filter(score => score >= 60); // 2. 필터링된 점수의 제곱 const squaredScores = passingScores.map(score => score * score); // 3. 제곱된 점수의 총합 const total = squaredScores.reduce((acc, score) => acc + score, 0); console.log(total); // 11673 ``` 결론 `filter`, `map`, `reduce` 메서드는 자바스크립트에서 배열을 다루는 데 매우 강력한 도구입니다. 이들 메서드를 사용하면 코드의 가독성을 높이고, 배열의 요소를 효율적으로 처리할 수 있습니다. 각 메서드는 고유한 목적을 가지고 있으며, 필요에 따라 조합하여 사용할 수 있습니다. 이러한 메서드를 잘 활용하면 더욱 간결하고 효율적인 코드를 작성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기