Javascript 如何按类名收集和汇总这些值
我尝试添加收集所有赔率,循环搜索结果并将其添加到数组totalArr。 在第二步中,我尝试总结totalArr中的值,但它不起作用。alertsum 正在返回03.32.51.82.2Javascript 如何按类名收集和汇总这些值,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<
<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]。你的问题是你把它们当作字符串。