티스토리 뷰
반응형
프로그래머스 문제를 풀다가 배열을 순회함에 있어, 어떤것은 forEach, 어떤것은 map을 사용하는것을 발견하여 서치를 시작하였다.
결론부터 말하면 둘다 배열안에 요소를 순회하는 공통점이 있었으나 쓰임이 달랐다.
map은 순회하는 각 요소들이 업데이트 되어 새로운 배열로 리턴할때 유용
forEach는 배열안에 특정 요소만이 특정 작업을 수행하는경우 유용 했다. (원본 배열은 건드리지 않음)
즉, 결과 배열이 필요한지(map), 아니면 각 요소에 대한 작업 결과만이 필요한지에 따라(forEach)
map이나 forEach를 사용하는 것이 적합한지 결정하는 차이가 있을 수 있겠다.
Tip. forEach의경우 다음처럼 체이닝 메서드를 이용하면 용이
sailors
.filter(sailor => sailor.active)
.map(sailor => sailor.email || `${sailor.name}@wiscail.io`)
.forEach(sailor => sendEmail(sailor));
map에 경우는 다음과 같이 쓰인다.
// for
const instruments = [];
for (let i=0; i < band.length ; i++) {
const instrument = band[i].instrument;
instruments.push(instrument);
}
// map
const instruments = band.map(member => member.instrument);
배열 메드를 사용하는이유는?
이런 메소드들을 사용하는 이유는 이 메소드를 이용하면 배열의 값의 영향을 주지않고 배열의 값을 수정하거나 필터링을 거치거나 형식을 바꾸어서 사용할 수 있기 때문이다
반응형
'개발' 카테고리의 다른 글
[TIL] JavaScript의 ES란?, ES5/ES6 문법 차이 (0) | 2023.01.30 |
---|---|
[JS] Array Filter 사용하기 (feat. 같은 숫자는 싫어 lv0) (1) | 2023.01.29 |
[TIL] 자바스크립트 study-03 this, 콜백함수, 클로저 (0) | 2023.01.26 |
[TIL] 자바스크립트 데이터타입, 실행컨텍스트 (0) | 2023.01.26 |
[TIL] 자바스크립트 study-01 (1) | 2023.01.19 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 윈도우pscale설치
- asyncio.gather
- SSR
- create_task
- 타입스크립트
- 위즈윅에디터
- 대수자료구조
- planetscale배포
- nextj이미지저장
- ADT
- un-supervised
- next.js
- k8s
- asyncio
- iris
- datalabeling
- pscale
- helm
- CloudFlare
- Tailwind
- semi-supervised
- window
- Python
- kubectl
- supervised
- nodejs
- 비동기
- 42서울
- 우테코
- 함수형프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함