Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取未定义的输出。有人能帮我吗。。?_Javascript - Fatal编程技术网

Javascript 获取未定义的输出。有人能帮我吗。。?

Javascript 获取未定义的输出。有人能帮我吗。。?,javascript,Javascript,函数,该函数接受一个正参数num并返回其乘法持久性,即必须将num中的数字相乘直到达到一个位数的次数 var persistenceCount=0; 函数持久性(num){ var arr=_parseToNumericArray(num); 如果(_校验长度(arr)){ 返回persistenceCount; }否则{ persistenceCount++; var newNum=_getMultiple(arr); 持久性(newNum); } } 函数_parseToNumericAr

函数,该函数接受一个正参数num并返回其乘法持久性,即必须将num中的数字相乘直到达到一个位数的次数

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