--- 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)