티스토리 뷰

 

 

 

  for() forEach() map()
기본 형식 for ( 초기문; 조건문 증감문 ) {
 실행문;
}

배열명.forEach(function(매개변수) {
 실행문;
});
배열명.map(function(매개변수){
 실행문;
});

설명
- 조건식에 부합하면 멈추지 않고 계속 순회한다.
- 멈추고 싶은 경우 'break';를 사용하면 된다.
- 반복문 기능을 지닌 배열 메서드이다.
- 배열의 요소를 순회하며, 모두 순회하면 실행을 멈춘다.
- 'break'; 사용이 불가하다.
- for문보다 속도가 빠르다.
- map도 반복문 기능을 가지지만, 반환값이 있다는 점에서 forEach와 다르다.
- 배열의 요소를 순회하며, 모두 순회하면 실행을 멈춘다.
- 'break'; 사용이 불가하다.
- 기존 배열의 값이 바뀌는 게 아니라 배로운 배열을 만든다.

 

map()을 통해 생성된 배열은 기존 배열과 완전히 다른 새로운 배열이다. 즉 기존 배열의 값이 바뀌는 것이 아니라 새로운 배열이 만들어진다. map은 아래와 같이 활용 할 수 있다.

console.log(movementsDescriptions);

const array = [2,4,6,8];
const newArray = array.map(function(item, index) {
  return item + 1;
})

console.log(array); // [2, 4, 6, 8]
console.log(newArray); // [3, 5, 7, 9]

 

 

forEach()와 map()의 차이점


  1. forEach()는  Array안에 데이터를 변경하려는 것이 아니라 데이터베이스에 저장하거나 로그아웃하는 것과 같은 작업에 유용하다.
  2. map()은 데이터를 변경할 때 유용하다. map()은 새로운 배열을 반환하며, 이는 다른 메소드들과 함께 사용이 가능하다. (map(), filter(), reduce() 등)
  3. 결론적으로 map을 사용하면, 결과값을 배열로 받을수 있다. 따라서 함수 안의 결과값을 계산하지 않고, 배열로 받기 위해서는 map을 사용하는 게 유리하다.
  4. map()은 메모리를 할당하고 리턴 값을 저장하지만, forEach()는 리턴 값을 버리고 항상 undefined를 리턴한다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함