【发布时间】:2021-11-04 08:28:42
【问题描述】:
所以我正在做 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(1)) 也会陷入无限循环。 -
@RoToRa 只是为了确定,您是否以
superDigit(1)运行它?不像superDigit('1',kValue)? -
superDigit(1)因为任务就是这么说的。 -
@RoToRa 请填写我缺少的内容...该函数的参数是
n和 k,可以看到函数时被定义为。 superDigit('1', kValue)将是您调用该函数的方式。调用superDigit(1)时,您不仅缺少一个参数,而且还使用了一个数字,而您应该使用一个字符串。
标签: javascript undefined