[Javascript] reduce()에 break 걸기
2025. 6. 13. 09:00ㆍJavascript/Javascript
728x90
반응형

자바스크립트에서 reduce() 함수의 루프 중간에 break하는 방법에 대한 글이다. 반복문을 중단시키는 일반적인 break 문법은 고차함수에서는 지원하지 않기 때문에 아래와 같이 reduce()의 반복 조건을 범위 밖의 값으로 설정하는 방식으로 끊어내는 수밖에 없다.
고차 함수(Higher-Order Function)란, 함수를 파라미터로 전달받거나 연산의 결과로 반환해주는 메서드를 말한다. 최근 몇 년 간 자주 거론되는 함수형 프로그래밍의 핵심이기도 하며 자바스크립트를 함수형 프로그래밍에 알맞는 언어로 만들어주는 특성이기도 하다.
const array = ['9', '91', '95', '96', '99'];
const x = array
.slice(0) // array를 복사. slice(0)하면 그대로 복사됨.
.reduce((acc, curr, i, arr) => {
if (i === 2) arr.splice(1); // 인덱스 1 이후의 모든 요소를 삭제한다. 더이상 순회할 요소가 없어 break되는 원리.
// 기존 배열이 삭제될 수 있어 첫 번째 단계에서 slice(0)로 배열을 복사한 이유가 이것이다.
return (acc += curr);
}, '');
console.log("x: ", x, "\noriginal Arr: ", array);
// x: 99195
// original Arr: [ '9', '91', '95', '96', '99' ]
728x90
반응형
'Javascript > Javascript' 카테고리의 다른 글
[Javascript] 이벤트 한 번만 실행하기 (1) | 2025.06.13 |
---|---|
[Javascript] 이벤트 제거하기 (0) | 2025.06.13 |
[Javascript] 조건문 최적화하기 (2) | 2025.06.12 |
[Javascript] 이벤트 핸들러 등록 여부 확인하기 (1) | 2025.06.11 |
[Javascript] 객체: 메서드와 this (1) | 2025.06.11 |