on
Javascript-map
Javascript-map
JS의 map 메서드는 배열 내의 모든 원소에 callback 함수를 실행하는 메서드입니다.
reduce와 동일한 일을 한다고도 볼 수 있지만 return 값이 다릅니다.
reduce의 리턴은 하나의 값이지만, map의 리턴은 배열입니다.
예를 들면 reduce는 한 배열의 모든 원소를 더해서 하나의 sum 을 구할 때 사용하고
map 은 한 배열의 모든 원소 각각에 * 2 를 하여 새로운 배열을 구할 때 사용합니다.
// sum reduce const sum = [0, 1, 2, 3].reduce( ( accumulator, currentValue ) => accumulator + currentValue, 0 ); // return is 6 // multiple map const map1 = [0, 1, 2, 3].map((x) => x * 2); // return is [0, 2, 4, 6]
이 때 map 의 input 은 다음과 같습니다.
callback currentValue index (optional) array (optional)
thisArg (optional)
다음은 그 예시들 입니다.
제곱근
var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots는 [1, 2, 3] // numbers는 그대로 [1, 4, 9]
두 배열의 각 원소 더하기
const arr1 = [1, 2, 3, 4]; const arr2 = [10, 11, 12, 13]; const map1 = arr1.map(function (x, i) { return x + arr2[i]; }); // return is [11, 13, 15, 17]
index를 사용하면 여러 배열을 계산할 수 있다.
이처럼 map과 reduce를 잘 사용하면 for 문 대신하여 간결한 코드를 만들 수 있다.
'모든 출처는 mdn으로부터 옴
from http://developerlee.tistory.com/25 by ccl(A) rewrite - 2021-11-21 00:01:53