मैं एक रेंज फ़ंक्शन को बार-बार कर कर खुद को रिकर्सन करने की कोशिश कर रहा हूं। मुझे समझ में नहीं आ रहा है कि नीचे दिया गया कोड क्यों काम नहीं कर रहा है?रिकर्सिव रेंज फ़ंक्शन काम नहीं कर रहा है
Iterative संस्करण:
function rangeList(num, num2) {
var arr = [];
for (var i = num; i < num2; i++) {
arr.push(i);
}
return arr;
}
रिकर्सिव संस्करण:
function rangeRecursive(num, num2) {
return (num2 > num) ? rangeRecursive(num2 - 1).concat(num2) : []
}
console.log(rangeList(1, 7)); // returns [1, 2, 3, 4, 5, 6]
console.log(rangeRecursive(1, 7)); // returns [7]
आप विधि के अंदर केवल एक पैरामीटर के साथ 'रेंज रिकर्सिव' को कॉल कर रहे हैं। –
यह डीबग करना मुश्किल नहीं होना चाहिए था। 'वापसी (num2> num) ... 'रेखा पर ब्रेकपॉइंट रखें। स्थानीय चर की जांच से आपको पता चला होगा कि 'num2' अपरिभाषित था। वहां से, यह पता लगाने के लिए एक त्वरित कदम होता कि आप 'num2' पास करने में विफल रहे थे। –