2017-07-19 3 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; 

Hallo. Ich verstehe das Problem mit dem obigen Code nicht. Ich habe die folgende Fehlermeldung anzeigt:Rekursion JavaScript-Problem

RangeError: Maximum call stack size exceeded

+1

Sieht aus wie die Rekursion nie aufhört. Wie genau, also mit welchen Argumenten, nennst du diese Funktion? – str

+0

http://xyproblem.info/ –

Antwort

3

Sie bieten keinen zweiten Parameter Anruf bei return end + sequenceSum(end-1) was funktionieren weder if noch if..else Anweisung erreicht wird, wie end nicht definiert ist; stattdessen wird return end + sequenceSum(end-1) wiederholt aufgerufen.

+0

Ja, danke! return end + sequenceSum (Anfang, Ende-1); :) – Vladimir