###### tags: `JavaScript 學習筆記`
# JavaScript 學習筆記 - 9: forEach
## 陣列資料處理
### forEach()
```javascript=
let list = [a, b];
data.forEach(function(item,index,array){
console.log(item,index,array);
})
```
function: data 裡有多少資料就跑幾次,次數出現在下方印出的 () 裡
item, index, array都是參數名稱,可自行更改名稱
這邊只是先列出會跑出什麼資料而已
會印出
```javascript=
a 0 (2) [a, b]
b o (2) [a, b]
```
### forEach 常見用法
#### 累加
```javascript=
let data = [10, 20, 30];
let total = 0;
data.forEach(function(item, index){
total += item;
})
```
最終得到累加的資料
#### 篩選
選出陣列中的偶數
```javascript=
let data = [1,2,3,4,5,6];
let total = 0;
let newData = [];
data.forEach(function(item,index) {
if (item%2 == 0) {
total+=1;
newData.push(item);
}
})
````
#### 讀取資料
```javascript=
item.Attribute;
```
擊可讀取物件 Attribute 的資料
#### 透過物件整合資料
```javascript=
let data = [];
let people = {
male: 0,
female: 0
};
data.forEach(fuction(item, index) {
if (item.sex == "male") {
people.male += 1;
} else {
people.female += 1;
}
})
```
#### 透過陣列整合資料
```javascript=
let data = [];
let people = {
male: [],
female: []
};
data.forEach(fuction(item, index) {
if (item.sex == "male") {
people.male.push(item);
} else {
people.female.push(item);
}
})
```