照著前面建立的小鎮和房子的假設走,下面是前篇創建的陣列:
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是怎麼來的