for - 加總

在陣列中,要如何把數量做「加總」呢?

JS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var farms = [
{
farmer: '卡斯伯',
field: 6,
chick: 200,
banana: 5000
},
{
farmer: '查理',
field: 10,
chick: 50,
banana: 1000
},
{
farmer: '約翰',
field: 8,
chick: 120,
banana: 3215
}
]

現在,我想要把這個陣列中,每個物件的「banana屬性的值」做加總

作法如下:

JS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var farms = [
{
farmer: '卡斯伯',
field: 6,
chick: 200,
banana: 5000
},
{
farmer: '查理',
field: 10,
chick: 50,
banana: 1000
},
{
farmer: '約翰',
field: 8,
chick: 120,
banana: 3215
}
]

// 計算出:banana 的總數

var farmsTotal = farms.length;
var bananaTotal = 0;

for(var i = 0; i < farmsTotal; i++){
bananaTotal+=farms[i].banana;
}

console.log('banana 的總數是 ' + bananaTotal);

🎃 先計算出陣列中的「資料有幾筆」: var farmsTotal = farms.length;

🎃 設立變數,用來儲存「加總後的值」: var bananaTotal = 0;

🎃 在「for迴圈」的大括號裡面做「加總」:

🍋 變數bananaTotal一開始 = 0

🍋 跑第一次「for迴圈」時,會撈出「第一個物件的banana值」,拿來做加總(+5000)

🍋 跑第二次「for迴圈」時,會撈出「第二個物件的banana值」,拿來做加總(+1000)

🍋 跑第三次「for迴圈」時,會撈出「第三個物件的banana值」,拿來做加總(+3215)

🎃 等「for迴圈」全部跑完後,才會接下去執行console.log('banana 的總數是 ' + bananaTotal);

在 Console 就會顯示「banana 的總數是 9215」(0+5000+1000+3215)