【问题标题】:How do I collect and sum up these values by Class Name如何按类名收集和总结这些值
【发布时间】:2021-05-28 02:16:17
【问题描述】:

我正在尝试添加收集所有赔率,循环遍历结果并将它们添加到数组 totalArr。 在第二步中,我试图总结 totalArr 中的值,但它不起作用。警报(总和) 正在返回 03.32.51.82.2

    <p class="slip-odds">3.3</p>
    <p class="slip-odds">2.5</p>
    <p class="slip-odds">1.8</p>
    <p class="slip-odds">2.2</p>```


  <script type="text/javascript">

  let getSlipOdds = document.getElementsByClassName('slip-odds');

   let totalArr = [];

  for (let i = 0; i < getSlipOdds.length; i++) {

   var slipOdd = getSlipOdds[i].innerHTML;
   totalArr.push(slipOdd);

}

let sum = 0;

for (let i = 0; i < totalArr.length; i++) {
    sum += totalArr[i];
}
alert(sum);

 </script>

【问题讨论】:

  • 试试 sum += parseFloat(totalArr[i])。您的问题是您将它们作为字符串获取。

标签: javascript html arrays loops getelementsbyclassname


【解决方案1】:

在像这样推送到数组之前转换为数字

   totalArr.push(Number(slipOdd));

【讨论】:

    【解决方案2】:

    这是因为 javascript 认为它是一个字符串,而不是一个数字。您可以轻松地将数组元素乘以 1,然后它将其转换为数字

    sum += totalArr[i] * 1;

    【讨论】:

      【解决方案3】:

      您应该在添加前将 totalArr[i] 转换为数字。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-11-27
        • 2019-06-10
        • 2016-11-05
        • 2023-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多