首页 > 解决方案 > Javascript数组数学计算结果

问题描述

我试图用数组解决javascript中的一个挑战,当我尝试将结果存储在一个数组中时,它们与我订购值的方式不同

 function calcTotal() {
     bilArray = [124, 48, 268];
     var tipArray = [0.2, 0.15, 0.1];
     var totalArray = [];
     var calc = 0;

    for (var i = 0; i < bilArray.length; i++) {
     if (bilArray[i] < 50) {
       calc = bilArray[i] * tipArray[0] + bilArray[0];

      } else if (bilArray[i] >= 50 && bilArray[i] < 200) {
       calc = bilArray[i] * tipArray[1] + bilArray[1];

     } else {
       calc = bilArray[i] * tipArray[2] + bilArray[2];
     }
      totalArray.push(calc);
     calc = 0;
  }
  console.log(totalArray);
  }
  calcTotal();

Array(3) [ 66.6, 133.6, 294.8 ]bilArray' 的值未排序时的结果。

非常感谢你

标签: javascript

解决方案


我相信你的问题在这些方面:

calc = bilArray[i] * tipArray[0] + bilArray[0];

它应该与相应的索引相关。

像这样:

calc = bilArray[i] * tipArray[0] + bilArray[i];

输出:

[ 142.6, 57.6, 294.8 ]

推荐阅读