map() 이란
map() 메서드는 배열 안의 모든 요소들을 각각 순회하며
그 요소들에게 주어진 함수(callback 함수)를 호출한 결과를 모아
새로운 배열을 반환한다.
const arr = [1, 3, 5, 10];
// arr 의 요소들을 각각 순회하며 * 2를 하여 반환한다.
const map = arr.map((item) => item * 2);
console.log(map); // Array [2, 6, 10, 20]
형태
arr.map(callback(currentValue[, index[, array]])[, thisArg])
callback: 새로운 배열 요소를 생성하는 함수
currentvalue: 처리할 현재 요소
index: 현재 요소 인덱스 [Optional]
array: map()을 호출할 배열 [Optional]
thisArg: callback을 실행할 때 this로 사용되는 값 [Optional]
반환 값
배열의 각 요소들에 대해 실행한 callbak의 결과를 모은 새로운 배열을 반환한다.
즉, map은 호출한 배열의 값을 변형하지 않는다.
(단 callback 함수에 의해 변형이 될 수는 있다.)
const arr1 = [1, 3, 5, 10];
// arr1 의 요소들을 각각 순회하며 * 2를 하여 반환한다.
const arr2 = arr1.map((item) => item * 2);
// map에 의해 새로 만들어진 배열
console.log(arr2); // Array [2, 6, 10, 20]
// 기존의 배열은 변형하지 않는다.
console.log(arr1) // Array [ 1, 3, 5, 10 ]
화살표 함수의 소괄호 () 생략
함수의 바디 안의 코드가 한줄이면 소괄호 () 를 생략 할 수 있다.
하지만 코드가 한 줄 이상이거나, 리턴값이 객체인 경우는 생략이 불가능하다.
화살표 함수의
() => () 소괄호 와 () => {} 중괄호 차이
소괄호 () 로 감싸진 부분은 return 문을 작성하지 않아도 return 된다.
반면 중괄호 {} 로 감싸진 함수는 return 문을 작성하지 않는다면 반환값이 없다.
'Javascript' 카테고리의 다른 글
[Javascript] 탭메뉴 만들기 (id값을 가져와서 만들기) (0) | 2023.08.28 |
---|---|
[Javascript] map 과 filter 를 이용한 문제 풀어보기 (0) | 2023.08.21 |
[Javascript] .substring() (0) | 2023.08.16 |
[Javascript] .split() (0) | 2023.08.16 |
[Javascript] 함수 선언식 & 함수 표현식 & 화살표 함수 (0) | 2023.06.17 |