reduce?
reduce 함수는 배열의 각 요소를 순회하면서 누적된 값을 계산하고 최종 결과를 반환할 수 있다
reduce 문법
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(sum); // 15
reduce() 함수가 호출되면 첫 번째 순회 단계에서 accumulator 값은 initialValue로 설정되거나 배열의 첫 번째 요소로 설정된다. 위 코드에서는 초기 값이 0이 주어졌으므로 처음 누적된 accumulator의 값은 0부터 시작한다.
reduce() 함수는 배열의 두 번째 요소부터 마지막 요소까지 순회하며, 각 요소에 대해 콜백 함수를 실행한다.
콜백 함수는 현재 요소의 값을 가지고 필요한 연산을 수행한 후, 그 결과를 accumulator에 할당한다.
다음 순회 단계에서 accumulator 값은 이전 단계에서 반환된 값으로 설정되고, 다음 요소에 대해 콜백 함수를 실행한다.
배열의 마지막 요소까지 순회가 완료되면, reduce() 함수는 최종 accumulator 값을 반환한다.
보통 배열의 합을 구할때 많이 사용된다.
reduce로 배열의 각 요소 곱하기
number=[1,2,3,4,5] 를 [2,4,6,8,10]으로 reduce를 써서 만드는법
function solution(numbers) {
return numbers.reduce((a, b) => [...a, b * 2], []);
}