Javascript 如何按类名收集和汇总这些值

Javascript 如何按类名收集和汇总这些值,javascript,html,arrays,loops,getelementsbyclassname,Javascript,Html,Arrays,Loops,Getelementsbyclassname,我尝试添加收集所有赔率,循环搜索结果并将其添加到数组totalArr。 在第二步中,我尝试总结totalArr中的值,但它不起作用。alertsum 正在返回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<

我尝试添加收集所有赔率,循环搜索结果并将其添加到数组totalArr。 在第二步中,我尝试总结totalArr中的值,但它不起作用。alertsum 正在返回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>

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

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

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


总和+=总ARR[i]*1

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


总和+=总ARR[i]*1

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

   totalArr.push(Number(slipOdd));

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

   totalArr.push(Number(slipOdd));

尝试sum+=parseFloattotalArr[i]。您的问题是将它们作为字符串获取。请尝试sum+=parseFloattotalArr[i]。你的问题是你把它们当作字符串。