javascript 我想用js循环把所有的整数加起来,在我给出的例子中正确答案是6,我怎么用Js循环来做这个呢?

nxowjjhe  于 2023-03-11  发布在  Java
关注(0)|答案(2)|浏览(131)
<span class="gap">1</span>
 <span class="gap">2</span>
 <span class="gap">1</span>
 <span class="gap">2</span>`
var arr = []
var sum = 0;
for (i = 0; i < arr.length; i++) {
    sum += arr[i];
}
console.log(sum);

我试着用上面的代码来做,但是我不能把数组中的所有整数加起来...

cgh8pdjw

cgh8pdjw1#

如果我理解了您的问题,您可以使用Document.getElementsByClassName()来获取匹配的span,然后迭代它们并调用parseInt(),如下所示:

var arr = document.getElementsByClassName("gap");
var sum = 0;
for (let i = 0; i < arr.length; i++) {
  sum += parseInt(arr[i].textContent);
}
console.log(sum);
<span class="gap">1</span>
 <span class="gap">2</span>
 <span class="gap">1</span>
 <span class="gap">2</span>
qyswt5oh

qyswt5oh2#

首先,您应该从HTML中提取值。
然后你应该把它们转换成数字和总和。
我在假设没有其他元素具有class="gap"的情况下编写了这个代码;否则,应该编写父元素选择器而不是document

let gapsElements = document.querySelectorAll('.gap');
let sum = 0;
for (i = 0; i < gapsElements.length; i++) {
    const gapValueInt = +gapsElements[i].innerText;  // the '+' before 'arr' will convert a string to number;
    sum += gapValueInt;  
}
console.log(sum);

我替换了前缀以使其更标准,并删除了array var,因为我们不需要它。

相关问题