2017-07-19 19 views
0
const sequenceSum = (begin, end) => { 
    // BEGIN (write your solution here) 
    if (begin === end) { 
    return end; 
    } else if (begin > end) { 
    return NaN; 
    } 

    return end + sequenceSum(end-1); 
    // END 
}; 

export default sequenceSum; 

こんにちは。私は上記のコードの問題を理解していません。私は次のエラーを持っている:再帰JavaScriptの問題

RangeError: Maximum call stack size exceeded

+1

再帰が停止したことがないように見えます。どのような引数でどの程度正確に、その関数を呼び出しますか? – str

+0

http://xyproblem.info/ –

答えて

3

あなたはendが定義されていないとして、到達しているifif..else文のどちらが得られreturn end + sequenceSum(end-1)でコールを機能させる二番目のパラメータを提供していません。代わりにreturn end + sequenceSum(end-1)が繰り返し呼び出されます。

+0

よろしくお願いいたします。 return end + sequenceSum(開始、終了-1); :) – Vladimir