Javascript 变量不';t似乎正在接受新的价值观 函数重读(整数){ //处理输入错误 var数组=[]; //通过使其等于1来初始化乘法 var乘=1; var计数=0; if(整数9)返回reachOne(乘法+计数); 返回计数; } 控制台日志(reachOne(254))您的integer参数看起来应该是一个数字,但for循环将其视为一个字符串。因此integer.length将是未定义的,因此for循环将永远不会发生。 var test = 254; test = test.toString(); // you need to convert test to a string var result = 1; for (var x = 0; test.length > x; x++) { result *= test[x]; }
上面的代码应该取一个正整数,并返回该整数中的数字必须相乘才能得到一位数字的次数。示例:254将给出2:2*5*4=40和4*0=0。您需要首先将变量转换为字符串Javascript 变量不';t似乎正在接受新的价值观 函数重读(整数){ //处理输入错误 var数组=[]; //通过使其等于1来初始化乘法 var乘=1; var计数=0; if(整数9)返回reachOne(乘法+计数); 返回计数; } 控制台日志(reachOne(254))您的integer参数看起来应该是一个数字,但for循环将其视为一个字符串。因此integer.length将是未定义的,因此for循环将永远不会发生。 var test = 254; test = test.toString(); // you need to convert test to a string var result = 1; for (var x = 0; test.length > x; x++) { result *= test[x]; },javascript,arrays,loops,do-while,Javascript,Arrays,Loops,Do While,上面的代码应该取一个正整数,并返回该整数中的数字必须相乘才能得到一位数字的次数。示例:254将给出2:2*5*4=40和4*0=0。您需要首先将变量转换为字符串 function reachOne(integer) { //deal with errors in input var array = []; //initialize multiply by putting it equal to 1 var multiply = 1;
function reachOne(integer) {
//deal with errors in input
var array = [];
//initialize multiply by putting it equal to 1
var multiply = 1;
var count = 0;
if (integer < 0) {
document.write('Do it again, Input should be a positive Integer')
} else if (integer < 10 && integer >= 0) {
document.write(count);
} else {
do {
for (var i = 0; i < integer.length; i++) {
multiply = multiply * integer.charAt(i);
//if i try to write document.write(multiply), nothing appears
console.log("HELLO");
}
count++
}
while (multiply >= 10)
}
//if I write document.write(multiply) here, the result is 1 and not the product of all the numbers
}
reachSingle(254)
----------
结果是40
这应该做到:
函数reachOne(整数,计数){
if(isNaN(整数)|整数<1)返回0;
var乘=1;
如果(isNaN(计数))计数=1;
而(整数>0){
乘法=乘法*(整数%10);
整数=数学楼层(整数/10);
}
如果(乘法>9)返回reachOne(乘法+计数);
返回计数;
}
控制台日志(reachOne(254))
您的integer
参数看起来应该是一个数字,但for
循环将其视为一个字符串。因此integer.length
将是未定义的,因此for
循环将永远不会发生。
var test = 254;
test = test.toString(); // you need to convert test to a string
var result = 1;
for (var x = 0; test.length > x; x++) {
result *= test[x];
}