iT邦幫忙

0

JavaScript 基礎知識-for 迴圈加總

照著前面建立的小鎮和房子的假設走,下面是前篇創建的陣列:

var area=[
    {
        house: 'Jerry',
        room: 3,
        people: 6,
    },
    {
        house: 'Tom',
        room: 4,
        people: 10, 
    },
    {
        house: 'Jack',
        room: 6,
        people: 13,
    }
]

如果此時,我想要知道小鎮上總共有多少人,意即就要把每筆資料的 people 屬性內的數字去做加總,這時候又該如何撰寫呢?我們可以宣告一個變數來存放總人數:

var peopleTotal = 0;

接著撰寫 for 迴圈,撈取每筆資料的 people 屬性,並進行加總:

for(var i=0; i<area.length; i++){
    peopleTotal += area[i].people;
    // 註[1]
}
console.log(peopleTotal);

此時 console 就會輸出 29
註[1]: a += b,就是 a = a+b,把 a 重新賦予值,而值等於 a+b

如果我們照著上面的迴圈實際跑一次,當第一次 i=0 的時候

peopleTotal = peopleTotal + area[0].people
// peopleTotal = 0 + 6

第二次 i=1,此時還是小於 area 陣列的長度

peopleTotal = peopleTotal + area[1].people
// peopleTotal = 6 + 10

第三次 i=2,此時依然還是小於 area 陣列的長度

peopleTotal = peopleTotal + area[2].people
// peopleTotal = 16 + 13

第四次 i=3,此時已經沒有小於 area 陣列的長度,所以跳出迴圈,最終在 console 輸出 peopleTotal 會得到29

這裡可以多看幾遍了解迴圈怎麼跑的,深入理解29是怎麼來的


尚未有邦友留言

立即登入留言