webForumDet fria alternativet

Summering med for-loop i Javascript

1 svar · 931 visningar · startad av Jompan

JompanMedlem sedan juli 200739 inlägg
#1

Nu har jag nog blivit alldeles blind! Varför blir detta inte rätt?
935 ska ökas med 8 i 16 varv i en for-loop.

var i, result;
var summa = 935;

for ( i=0; i<=16; i=i+8) { 
result = summa + i;
}

Jag får resultatet 951, och det stämmer ju inte.

metalboyMedlem sedan jan. 2005953 inlägg
#2

Det stämmer visst, när din loop startar har du följande:

i = 0
result = 935 + 0 = 935

Nästa varv i loopen:
i = 8
result = 935 + 8 = 943

Nästa varv i loopen:
i = 16
result = 935 + 16 = 951

Därefter avslutas loopen (eftersom 16 <= 16)
Så result har då värdet 951.

Jag tror du vill ha något liknande detta

var i, summa=935;
for (i=0; i<16; i++) {
    summa += 8;
}
129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)