---
title: 陣列和物件的整合運用
tags: 陣列, array, 物件, obj,
description:
---
陣列和物件的整合運用
===
#### ==了解情境==,用==陣列和物件的組合==去==拆解==情境,來==規劃==資料結構。
例如:房仲要出售的物件,用陣列、物件來組合
- 廳(客廳、餐廳)
- 室(房間3間、衛浴1間)
```javascript=
let house = {
hall: ['livingRoom', 'diningRoom'],
room: [
{
name: 'bedroom',
num: 3
},
{
name: 'bathroom',
num: 1
},
],
};
```
#### 陣列物件混合讀取教學
以上面例子,要取得bathroom的num值
要先指向物件``house``,再指向該物件屬性``room``,
再指向``room``屬性值陣列**第1筆**資料的物件,再指向該物件屬性``num``
```javascript=14
console.log(house.room[1].num); // 1
```
#### ==物件==搭配if練習

- 物件屬性``status``先賦予空字串
```javascript=
let johnStatus = {
name: 'john',
age: 30,
status: '',
}
```
- 量測體溫36.5,賦予到物件新屬性```degree```
```javascript=6
johnStatus.degree = 36.5;
```
- 判斷體溫是否大於37.5,並把**判斷結果寫入物件屬性```status```**
```javascript=7
if (johnStatus.degree >= 37.5) {
johnStatus.status = '體溫量測不合格';
} else {
johnStatus.status = '體溫量測合格';
};
```
- 最後檢視體溫量測結果,**是否寫入**物件屬性```status```
```javascript=12
console.log(johnStatus);
```

<br>
#### ==陣列物件==搭配if流程判斷練習

- 設定有**多位**客人測量體溫,用陣列包物件的方式呈現資料。
```javascript=
let customerStatus = [
{
name: 'john',
age: 30,
status: '',
},
];
```
- 針對**第一位客人**量測體溫39,賦予到**第一位客人**物件屬性degree。
```javascript=8
customerStatus[0].degree = 39;
```
- 判斷體溫是否大於37.5,並把**判斷結果寫入第一位客人物件屬性```status```**。
```javascript=9
if (customerStatus[0].degree >= 36.5) {
customerStatus[0].status = '體溫不合格';
} else {
customerStatus[0].status = '體溫合格';
};
```
- 最後檢視體溫量測結果,**是否寫入第一位客人**物件屬性```status```。
```javascript=14
console.log(customerStatus);
```
