인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

learning님의 프로필 이미지
learning

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

reduce 예제 코드 제안!

작성

·

295

0

const reduce = (f, iter, acc) => {
  if (acc === undefined) {
    iter = iter[Symbol.iterator]()
    acc = iter.next().value
  }

  for (const v of iter) {
    acc = f(acc, v)
  }

  return acc
}
console.log(reduce(add, [1, 2, 3, 4, 5], 0))

console.log(reduce(add, [1, 2, 3, 4, 5]))

강의 언제나 즐겁게 듣고 있습니다!

reduce 파트 듣다가 js reduce에 가까운 구현은 이쪽이 아닐까 싶습니다!

초기 값이 존재하지 않을 때, 배열의 첫번째 요소를 사용하는 사례를 더 잘 표현한 것 같습니다.

 

답변 1

1

유인동님의 프로필 이미지
유인동
지식공유자

자바스크립트와 어울리고 좋은 생각입니다. :) 저도 질문자님처럼 구현할까 하는 생각이 5:5 였지만 fxjs는 다른 언어나 다른 함수형 라이브러리들의 보편적인 룰을 따랐습니다.

learning님의 프로필 이미지
learning
질문자

답변 감사합니다.

learning님의 프로필 이미지
learning

작성한 질문수

질문하기