안녕하세요 . reduce 2에서 공부한 함수에서 궁금한 점이 생겨서 질문 드립니다. 먼저 제가 시도하려던 방향은 iter를 비우고 파라미터를 2개만 받아서 함수를 구현하려고 했는데 비구조화 함수를 쓰면서 되게 복잡하게 함수가 구현이 되었습니다.
그러면 acc가 optional이 아니라 필수처럼 보이게 되어서 그런데 이를 좀 더 간단하게 만들거나 추상적인걸 잘 만족시킬 수 있는 방법이 있을까요?
const reduce = (f, acc, iter) => {
if (!iter) {
iter = acc[Symbol.iterator]();
[acc, ...iter2] = iter;
}
for (const a of iter2) {
acc = f(acc, a);
}
return acc;
};
console.log(
reduce((a, b) => {
return { price: a.price + b.price };
}, products)
);