반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 로컬스토리지 객체 저장
- setter 함수 동기적 실행
- Object for in
- 접근자 프로퍼티
- javascript cookie 얻기
- vscode 초기화
- pip 명령 에러
- vscode 재설치
- 로지텍 버티컬 마우스 사용 후기
- javascript cookie 삭제
- for in for of 차이점
- next.config.mjs
- forEach map 차이
- array method 요약
- 검색창 autofocus
- for of 문 예시
- for in 문 예시
- 접근자 함수
- 객체 반복문
- react input autofocus
- 로컬스토리지 쓰기 읽기 삭제
- input range 컬러변경
- input type="range"
- vue scss
- vue sass 사용하기
- input range
- javascript cookie 설정
- vue scss 전역 설정
- 로지텍 MX Vertical 마우스
- react 검색 기능 구현
Archives
- Today
- Total
짬짬이기록하기
forEach, Map 차이 본문
반응형
forEach
: 배열의 각 아이템에 대해 콜백 함수 호출
: 반환값을 가지지 않고, 루프문 수행
let a = [1,2,3,4,5]
a.forEach((item, index, arr) => {
console.log(item, index, arr)
})
결과
1 0 (5) [1, 2, 3, 4, 5]
2 1 (5) [1, 2, 3, 4, 5]
3 2 (5) [1, 2, 3, 4, 5]
4 3 (5) [1, 2, 3, 4, 5]
5 4 (5) [1, 2, 3, 4, 5]
아래의 방법으로 원본배열 numbers 를 직접 수정할수는 있다.
하지만 원본 배열을 직접 수정하는 것보다는 map을 사용하는 것이 좋은 방법.
(함수형 프로그래밍의 원칙 중 하나로, 불변성(immutability)을 유지하여 예측 가능하고 오류를 방지하는 데 도움이 되기 때문)
let numbers = [1, 2, 3, 4, 5];
numbers.forEach((num, index, arr) => {
arr[index] = num * 2;
});
console.log(numbers); // [2, 4, 6, 8, 10] 수정된 배열 출력
map : 새로운 Array를 반환 => 리턴 값이 있다. a변수에 map을 재할당하지 않는 이상, a 배열을 변경시키지는 않는다.
let a = [1,2,3,4,5]
let b = a.map(function(item){
return item*2
})
console.log(a) //(5) [1, 2, 3, 4, 5]
console.log(b) //(5) [2, 4, 6, 8, 10]
위의 소스를 forEach로 돌리면 리턴값이 없으므로 undefined, 마찬가지로 a 배열을 변경시키지는 않음
let a = [1,2,3,4,5]
let b = a.forEach(function(item){
return item*2
})
console.log(a) //(5) [1, 2, 3, 4, 5]
console.log(b) //undefined
반응형
'Web Development > Javascript' 카테고리의 다른 글
Literal(리터럴) 이란? (0) | 2023.11.08 |
---|---|
Array.from() (0) | 2023.11.07 |
접근자 함수 get, set (0) | 2023.10.24 |
함수, 함수() 방식 차이 (0) | 2023.10.19 |
Array 객체의 메서드 요약 (1) | 2023.10.17 |