Javascript 使用基本方法让各个数字相乘,直到达到一位数 函数乘法(arr) {var finalcount=0;var k=1; for(i=0;i=10)。(我试图设置的条件,因为我试图在末尾达到一个位数,并计算循环必须运行多少次才能达到该值。现在我不知道将if语句放在何处

Javascript 使用基本方法让各个数字相乘,直到达到一位数 函数乘法(arr) {var finalcount=0;var k=1; for(i=0;i=10)。(我试图设置的条件,因为我试图在末尾达到一个位数,并计算循环必须运行多少次才能达到该值。现在我不知道将if语句放在何处,javascript,Javascript,例如,输入是[2,3,4,5],然后我想要2*3*4*5=120,然后1*2*0=0,0是一个数字,它需要两个循环,所以最终的计数是2,这就是我想要的结果 非常感谢您的建议。如果我正确理解您的问题,非常感谢!。您正在尝试将一个数字的位数相乘,并继续这样做,直到达到一个位数为止。 如果我是对的,我有这个解决你问题的办法 <script> function multiply(arr) {var finalcount=0; var k=1; for (i=0;i<ar

例如,输入是[2,3,4,5],然后我想要2*3*4*5=120,然后1*2*0=0,0是一个数字,它需要两个循环,所以最终的计数是2,这就是我想要的结果


非常感谢您的建议。如果我正确理解您的问题,非常感谢!

。您正在尝试将一个数字的位数相乘,并继续这样做,直到达到一个位数为止。 如果我是对的,我有这个解决你问题的办法

 <script>
  function multiply(arr)
  {var finalcount=0; var k=1;
   for (i=0;i<arr.length;i++)
   {     k*=arr[i]



        finalcount++;}

  return finalcount
  }



  document.write(multiply([2,3,4,5]))
</script>
//此函数用于将数字转换为数组,还有其他解决方案。
函数numberToArray(num){
var tmpString=num.toString();
var tempArray=[];
对于(var i=0;i18->->8

如果这能回答您的问题,请告诉我。

将这两个功能结合起来相当容易。您可以在多功能中包含另一个功能:

多功能(num){
var tmpString=num.toString();
var tempArray=[];

对于(var i=0;i18->->->8
您期望的输出是什么?使用reduce()函数[@Mamun我想计算数字必须相乘才能达到一个位数的次数。“我想计算数字必须相乘才能达到一个位数的次数。”…嗯,这还远远不清楚。我仍然不确定你想要的结果是什么。2*3*4*5将是120。这是你想要的结果吗?嗨,有没有可能的方法来组合这两个函数?你是什么意思?你想组合numberToArray和multi吗?是:)这样我只需要输入一个数字并进行最终计数。
//this function Convert the number to array htere are other solurions as well.
function numberToArray (num){
    var tmpString = num.toString();
    var tempArray= []; 
    for(var i=0; i<tmpString.length;i++){
        tempArray.push(Number(tmpString[i]));
    }
    return tempArray;
}
function multi (arr){
    var count = 0;
    var k=1;
    for (var i=0; i<arr.length;i++){
        k *=arr[i];
    }
    count++;
    if (k<=10) return count;
    else{
        var newArray = numberToArray(k);
        return count +multi(newArray);
    }
}

console.log (multi ([2,3,9,7,6]));// returns 4: 23976->2268->192->18->->8