Tell us what’s happening:
I don’t understand why total += myArr[i] looks like,
var myArr = [ 2, 3, 4, 5, 6];
var total = 0
for (var i = 0; i < myArr.length; i++){
total += myArr[i]
}
total + myArr[0] -> 0 + 2 = 2
total + myArr[1] -> 2 + 3 = 5
total + myArr[2] -> 5 + 4 = 9
total + myArr[3] -> 9 + 5 = 14
total + myArr[4] -> 14 + 6 = 20
but i have declared total = 0 already, why the total is not remain at 0?
Challenge: Iterate Through an Array with a For Loop
Link to the challenge:
1 Like
@h0147xy
For example,
total += myArr[0]
is like this total = total+myArr[0]
which mean total
, the variable, is equal to value of total
which is 0
plus value of myArr[0]
. So that’s
why the total increase.
total
is a variable and =
is the assignment operator
A variable, unless declared as a constant, can be assigned a new value.
The way assignment works is that the right side of =
is first evaluated, then the evaluation outcome is assigned to the variable to the left of =
.
total += myArr[i]
is the same as total = total + myArr[i]
, and what this does is:
First, evaluate the right side of =
by adding the value currently assigned to total
and the value of myArr[i]
.
Then, assign the outcome of the above to the variable on the left side of =
in this case total
.
Make sure you understand this and have a consistent mental model of how assignment works as, according to some experienced programmers, it can largely predict whether you’ll be able to program or not .
Further reading:
oh i get it now, i thought total
has been fixed at 0 constantly. Thank you for your explanation!
system
Closed
October 27, 2021, 7:06pm
5
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.