Javascript 获取未定义的输出。有人能帮我吗。。?
函数,该函数接受一个正参数num并返回其乘法持久性,即必须将num中的数字相乘直到达到一个位数的次数Javascript 获取未定义的输出。有人能帮我吗。。?,javascript,Javascript,函数,该函数接受一个正参数num并返回其乘法持久性,即必须将num中的数字相乘直到达到一个位数的次数 var persistenceCount=0; 函数持久性(num){ var arr=_parseToNumericArray(num); 如果(_校验长度(arr)){ 返回persistenceCount; }否则{ persistenceCount++; var newNum=_getMultiple(arr); 持久性(newNum); } } 函数_parseToNumericAr
var persistenceCount=0;
函数持久性(num){
var arr=_parseToNumericArray(num);
如果(_校验长度(arr)){
返回persistenceCount;
}否则{
persistenceCount++;
var newNum=_getMultiple(arr);
持久性(newNum);
}
}
函数_parseToNumericArray(num){
var n=num.toString().split(“”);
返回n.map(函数(elem){
返回parseInt(elem);
});
}
函数检查长度(arr){
返回arr.length==1;
}
函数_getMultiple(arr){
返回arr.reduce(函数(a,b){
返回a*b;
});
}
console.log(持久性(39));//将输出设置为未定义的
就像@Keith所说的那样,您忘记了返回值
var persistenceCount=0;
函数持久性(num){
var arr=_parseToNumericArray(num);
如果(_校验长度(arr)){
返回persistenceCount;
}否则{
persistenceCount++;
var newNum=_getMultiple(arr);
返回持久性(newNum);
}
}
函数_parseToNumericArray(num){
var n=num.toString().split(“”);
返回n.map(函数(elem){
返回parseInt(elem);
});
}
函数检查长度(arr){
返回arr.length==1;
}
函数_getMultiple(arr){
返回arr.reduce(函数(a,b){
返回a*b;
});
}
console.log(持久性(39));//输出3
在else中没有返回语句。所以返回undefined
默认情况下,在JavaScript中,如果没有返回任何内容,函数总是返回undefined。在您的else部分中,您忘记了返回<代码>返回持久性(newNum)代码>哎呀,我的错。谢谢你的指导@MathRobin