JavaScript 数学,循环内循环

标签 javascript loops for-loop math

我有一个起始数字,因此必须仅在开始循环时将该数字乘以一个因子,然后将结果乘以另一个因子的 X 倍,然后必须将循环乘以 Y 次,最后我需要总金额...我认为最好查看数字来了解我需要什么

例如,如果我从数字 10 开始,这是正确的顺序:

  • 10
  • 50 (10*5)
  • 60 (50*1.2)
  • 72 (60*1.2)
  • 86.4 (72*1.2)
  • 103.68 (86.4*1.2)
  • 124.416 (103.68*1.2)

对我来说,从现在开始,前 6 个是内部循环,我需要复制该过程,但我必须使用最后一个值,124.416 乘以 5,然后再次乘以 1.2,所以

  • 622.08 (124.416*5)
  • 746.496 (622.08*1.2)
  • 895.7952 (746.496*1.2)
  • 1074.95424 (895.7952*1.2)
  • 1289.94509 (1074.95424*1.2)
  • 1547.93411 (1289.94509*1.2)
  • 1857.52093 (1547.93411*1.2)

等等...

最后我需要将所有中间结果相加,10 + 50 + 60 + 72 ...

我尝试这样做,但这不是我需要的,内部循环的工作方式就像暴露的一样,但是当我添加外部循环时,一切都出了问题!

outtercycle = 5;
base = 10;
mult1 = 5;
mult2 = 1.2;
innercycle = 6;

aaa = 0;
number = 0;

function test()
{
    for (j = 0; j < outtercycle; j++) {
        aaa = base * mult1;
        number += aaa;
        for (i = 0; i < (innercycle - 1); i++) {
            aaa *= mult2;
            number += aaa;
        }
    }
return number + base;
}

base = test();

在代码中,我需要有 5 个外部循环,但我只在 2 个外部循环上进行测试,我认为,当它起作用时,可以处理任何变量值,对吗?

对这个小问题有什么想法吗?

最佳答案

将其分为两个步骤 - 更容易解决问题。

  1. 累加数组中的所有值
  2. 对数组中的所有数字求和
<小时/>

function getValues(start, outerCycle, outerMulti, innerCycle, innerMulti){
   var result = [start];
   var idx = 0;
   for(var i = 0;i<outerCycle;i++){
       result.push(result[idx] * outerMulti);
       idx++;
       for(var j=0;j<innerCycle;j++){
           result.push(result[idx] * innerMulti);
           idx++;
       }
   }
   return result;
}

var values = getValues(10,2,5,5,1.2);
console.log('values', values);
var sum = values.reduce(function(a,b){ return a + b; });
console.log('sum', sum);

关于JavaScript 数学,循环内循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37613971/

相关文章:

javascript - 为什么这个特定的 Javascript 循环只在重新分配变量时有效?

python - 如何创建一个 for 循环来初始化我的类的对象,而不是一个一个地初始化

javascript - 使用 JavaScript 将 1 年添加到日期

JavaScript : open files with the value of select

java - 字符串中的replaceAll方法如何工作

c - C代码: more instructions executes faster than fewer ones的奇怪表现

javascript - 内容更新时 JQuery Mobile 会丢失格式

javascript - jQuery 可拖动 - 每个对象具有不同 snapMode 的多个捕捉(到)对象

javascript - 更改仅单击的按钮的颜色

bash - 在 for 循环中使用命令行参数 (bash)