---
# System prepended metadata

title: 陣列和物件的整合運用
tags: [' 物件', ' obj', ' array', 陣列]

---

---
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練習
![](https://i.imgur.com/IYtRFST.png =50%x)

- 物件屬性``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);
    ```
    ![](https://i.imgur.com/nHO8QcN.png =80%x)
<br>

#### ==陣列物件==搭配if流程判斷練習
![](https://i.imgur.com/IYtRFST.png =50%x)

- 設定有**多位**客人測量體溫，用陣列包物件的方式呈現資料。
    ```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);
    ```
    ![](https://i.imgur.com/wb7BsTW.png)
