재귀 함수를 사용하여 Javascript의 reduce를 재정의하려고 시도하고 있습니다. 내 시도가 있는데 작동하지 않습니다. 누구나 그것을 약간만 변경하여 효과를 낼 수 있다면, 나는 그것을 더 잘 이해할 것이므로 좋을 것입니다. (이것은 functional-javascript-workshop의 연습 문제입니다).축소 작업 (JS)의 재귀 적 정의가 아닌 이유는 무엇입니까?
/usr/local/lib/node_modules/functional-javascript-workshop/exercises/basic_recursion/exercise.js:13
prev[curr] = ++prev[curr] || 1
^
TypeError: Cannot create property 'undefined' on string 'exercitation'
at /usr/local/lib/node_modules/functional-javascript-workshop/exercises/basic_recursion/exercise.js:13:29
at reduce (/home/david/node-school/functional-workshop/solution.js:7:28)
at /usr/local/lib/node_modules/functional-javascript-workshop/exercises/basic_recursion/exercise.js:12:10
at obtainResult (/usr/local/lib/node_modules/functional-javascript-workshop/exercises/runner.js:100:21)
at Exercise.<anonymous> (/usr/local/lib/node_modules/functional-javascript-workshop/exercises/runner.js:66:27)
at next (/usr/local/lib/node_modules/functional-javascript-workshop/node_modules/workshopper-exercise/exercise.js:188:19)
at /usr/local/lib/node_modules/functional-javascript-workshop/node_modules/workshopper-exercise/exercise.js:195:7
at Exercise.<anonymous> (/usr/local/lib/node_modules/functional-javascript-workshop/exercises/runner.js:34:5)
at next (/usr/local/lib/node_modules/functional-javascript-workshop/node_modules/workshopper-exercise/exercise.js:188:19)
at /usr/local/lib/node_modules/functional-javascript-workshop/node_modules/workshopper-exercise/exercise.js:195:7
그냥 궁금해 :'if (arr.length)'작동합니까? 나는 항상'if (arr.length> 0)'를 사용한다 ... ... – Danmoreng
당신은 우리에게 정확한 코드를 보여주지 않는다. 오류는'line.lib.js'에서 호출 한 후'exercise.js'에서 발생합니다. –
@ Danmoreng, truey 값을 검사합니다. –