작성
·
277
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는 다른 언어나 다른 함수형 라이브러리들의 보편적인 룰을 따랐습니다.
답변 감사합니다.