상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 자바스크립트에서 Array.prototype.flatMap()의 사용법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`Array.prototype.<a href='https://sangseek.com/sangseeks/flatMap/ko'>flatMap</a>()`은 JavaScript에서 배열을 다룰 때 매우 유용한 메서드로, 배열의 각 요소에 대해 주어진 함수를 호출한 후, 그 결과를 평탄화(flatten)하여 새로운 배열을 생성합니다. 이 메서드는 <a href='https://sangseek.com/sangseeks/ES2019/ko'>ES2019</a>(ES10)에서 도입되었습니다. 기본 사용법`flatMap()` 메서드는 다음과 같은 형식으로 사용됩니다:```javascriptlet newArray = array.flatMap(callback(<a href='https://sangseek.com/sangseeks/currentValue/ko'>currentValue</a>[, index[, array]])[, <a href='https://sangseek.com/sangseeks/thisArg/ko'>thisArg</a>]);```- callback : 각 요소에 대해 실행할 함수. 이 함수는 세 가지 인수를 받을 수 있습니다: - currentValue : 현재 처리 중인 배열 요소. - index (선택적): 현재 처리 중인 요소의 인덱스. - array (선택적): `flatMap`을 호출한 배열. - thisArg (선택적): callback 함수에서 `this`로 사용할 값. 작동 방식`flatMap()`은 먼저 각 요소에 대해 주어진 함수를 실행한 후, 그 결과를 1단계 평탄화합니다. 즉, 중첩된 배열이 있을 경우, 한 단계만 평탄화하여 새로운 배열을 생성합니다. 예제1. 기본 예제 ```javascriptconst numbers = [1, 2, 3, 4];const doubled = numbers.flatMap(num => [num, num * 2]);console.log(doubled); // [1, 2, 2, 4, 3, 6, 4, 8]```위의 예제에서는 각 숫자에 대해 두 개의 값을 생성하는 함수를 사용했습니다. 결과적으로 각 숫자와 그 숫자의 두 배가 포함된 배열이 생성되었습니다.2. <a href='https://sangseek.com/sangseeks/중첩 배열/ko'>중첩 배열</a> 평탄화 ```javascriptconst nestedArray = [[1, 2], [3, 4], [5]];const flattened = nestedArray.flatMap(arr => arr);console.log(flattened); // [1, 2, 3, 4, 5]```이 예제에서는 중첩 배열을 평탄화하는 데 사용되었습니다. 각 내부 배열을 반환하는 함수를 사용하여, 최종적으로 1단계 평탄화된 배열을 얻었습니다.3. 조건부 필터링과 평탄화 ```javascriptconst words = ["hello", "world", "flat", "map"];const result = words.flatMap(word => word.includes("a") ? [word] : []);console.log(result); // ["flat", "map"]```이 예제에서는 각 단어를 검사하여 "a"가 포함된 단어만 포함하는 배열을 생성했습니다. 조건을 만족하지 않는 경우 빈 배열을 반환하여, 최종적으로 "flat"과 "map"만 포함된 배열을 얻었습니다. <a href='https://sangseek.com/sangseeks/성능 고려/ko'>성능 고려</a>사항`flatMap()`은 배열의 각 요소에 대해 함수를 호출하고, 그 결과를 평탄화하기 때문에, 성능에 영향을 미칠 수 있습니다. 특히, 큰 배열이나 복잡한 계산을 수행하는 경우에는 성능을 고려해야 합니다. 일반적으로 `flatMap()`은 가독성을 높이고 코드의 간결함을 제공하지만, 성능이 중요한 경우에는 다른 방법을 고려할 수도 있습니다. 결론`Array.prototype.flatMap()`은 배열을 다룰 때 매우 유용한 메서드로, 각 요소에 대한 변환과 평탄화를 동시에 수행할 수 있는 기능을 제공합니다. 이를 통해 코드의 가독성을 높이고, 배열 처리 작업을 더 간결하게 만들 수 있습니다. 다양한 상황에서 활용할 수 있으며, 특히 중첩 배열을 다룰 때 유용하게 사용될 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기