簡體   English   中英

我如何解決我一直從中得到的未定義結果?

[英]How do I fix the undefined result I keep getting from this?

所以我正在做 HackerRank superDigit 挑戰,即使我有所有非正式測試用例的正確值,輸出框說結果是未定義的。 我並沒有真正了解 undefined 是什么,或者一個帶有值的變量如何返回為 undefined。

 function superDigit(n, k) { // Write your code here var nArr = []; for(let i = 0; i < n.length; i++) { nArr.push(n[i]); } console.log('nArr: ' + nArr); var nComb = 0; for(let i = 0; i < nArr.length; i++) { nComb += parseInt(nArr[i]); } console.log('nComb: ' + nComb); var nMult = nComb *= k; console.log('nMult: ' + nMult); console.log(''); if(nMult < 10) { return nMult; } else { superDigit(nMult.toString(),1); } }

您可能還想返回superDigit結果。 所以在遞歸調用superDigit時候,加上return語句。 我還稍微清理了console.log調用,這樣它對我來說更具可讀性。

 function superDigit(n, k) { var nArr = []; for(let i = 0; i < n.length; i++) { nArr.push(n[i]); } var nComb = 0; for(let i = 0; i < nArr.length; i++) { nComb += parseInt(nArr[i]); } var nMult = nComb *= k; console.log('nMult:', nMult, 'nArr:', nArr, 'nComb:', nComb); if(nMult < 10) { return nMult; } else { return superDigit(nMult.toString(),1); } } document.getElementById('result').innerText = superDigit("200", 20);
 <html> <body> <p id="result"></p> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM