数组求和方法不起作用//javascript
我试图对下面的数组求和(即4+15+10等…=总数)。我相信我使用了正确的代码,但它似乎不起作用。有人能帮我看一下吗数组求和方法不起作用//javascript,javascript,arrays,Javascript,Arrays,我试图对下面的数组求和(即4+15+10等…=总数)。我相信我使用了正确的代码,但它似乎不起作用。有人能帮我看一下吗 function beginhere() { var arr = [4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14]; var total =0 var i =0 for(i < arr.length; i++) { total += arr[i][1]; } document.getElementById("thismessage
function beginhere() {
var arr = [4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14];
var total =0
var i =0
for(i < arr.length; i++) {
total += arr[i][1];
}
document.getElementById("thismessage").innerHTML = i;
}
函数beginhere(){
var arr=[4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14];
var总计=0
变量i=0
对于(i
您只需要元素,不需要另一个索引,因为您有一个具有单个值的数组,而不是数组数组
total += arr[i];
// ^^^
以及
函数beginhere(){
var arr=[4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14],
总计=0,
我
对于(i=0;i
一些更正:
- 在
for
循环的开头缺少分号
- 在
arr[i]
访问之后,您不需要额外的[1]
;及
- 您可能打算将内容设置为
total
,而不是i
document.getElementById("thismessage").innerHTML = total;
// ^^^^^
其他一些建议:
- 当您不打算插入标记时,请使用
textContent
而不是innerHTML
;及
- 将
var i=0
放在for
循环的内部(这是常见的做法)
函数beginhere(){
var arr=[4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14]
var总计=0
对于(变量i=0;i
For循环语法错误。这是For(i=0;我也是document.getElementById(“thismessage”).innerHTML=total;
tysm这起作用了:)快速问题:为什么我需要在For语句中指定i=0,而我在开始时已经将它指定给了0?@Karl:你不必,但是您必须包含for
语句头的所有三个部分,以满足语法要求。因此,您可以对(;i
执行(注意,早期的;
,表示一个空的init子句)。但是按照习惯,除非有充分的理由不这样做,否则您应该在for
标题中包含for
标题的所有三个部分。回答得好。注意:您不需要减少上的,0
。如果您不使用它,第一个调用将传递前两个元素,分别为a
和b
,这在求和时非常有用。当您使用箭头函数时,最好使用简洁的形式:arr.reduce((a,b)=>a+b)
(或arr.reduce((a,b)=>a+b,0);
如果您想通过0
)。@T.J.Crowder感谢您的建议。我不擅长写箭头函数。我记下了你的观点。。
document.getElementById("thismessage").innerHTML = total;
// ^^^^^