# 🏅 Day 09 - 陣列與物件操作(2)
## 題目
延續 Day 08 內容,繼續練習陣列與物件操作。
以下題目請合併為一份 CodePen 繳交。
問題一
---
以下是製作麵包的食譜,請新增一個名為 breadRecipe 的物件,並依照以下要求設定屬性:
1. 新增一個名為 ingredients 的屬性,其值為一個陣列,包含 "高筋麵包粉"、" 牛奶"、"酵母"、"糖"、"鹽"、"奶油"。
2. 新增一個名為 bakeTime 的屬性,其值為 30。
3. 新增一個名為 difficulty 的屬性,其值為 "簡單"。
4. 新增一個名為 seasoning 的屬性,其值為一個物件,包含:
- 屬性名稱: sugar - 值:"22g"
- 屬性名稱: salt - 值:"10g"
- 屬性名稱: pepper - 值:"10g"
```javascript=
let breadRecipe = {
/* 程式碼撰寫處 */
};
```
問題二
---
在物件內新增、修改、取得屬性的方法有以下兩種:
1. 點記法 (Dot notation)
```javascript=
let obj = {};
obj.key = "value"; // 新增或修改
console.log(obj.key); // 取得
```
2. 括弧記法 (Bracket notation)
```javascript=
let obj = {};
// 當屬性的值帶有小數點、空格或是數字時可以使用,記得要加上引號 (單引號或雙引號皆可)
obj['k e y'] = "value"; // 新增或修改
console.log(obj['key']); // 取得
```
請觀看下方程式碼,依照註解敘述完成程式碼(補上 `...` 的部分):
```javascript=
let weather = {
country: "高雄",
"PM2.5": 35,
isSunny: false,
rainingRegion: ['鼓山', '鹽埕', '旗津'],
rainFall: {
鼓山: 400,
鹽埕: 300,
}
}
// 取得 country 的值,並使用 console.log 印出
console.log(...);
// 取得 "PM2.5" 的值,並使用 console.log 印出
console.log(...);
// 取得 isSunny 的值,並使用 console.log 印出
console.log(...);
// 取得 rainingRegion 陣列的第一個值 '鼓山',並使用 console.log 印出
console.log(...);
// 在 rainFall 新增一個屬性名為「旗津」、設定值為 200,並,並使用 console.log 印出 rainFall 的值
...
console.log(rainFall);
```
<!-- 解答:
問題一
```
let breadRecipe = {
ingredients: ["高筋麵包粉", "牛奶", "酵母", "糖", "鹽", "奶油"],
bakeTime: 30,
difficulty: "簡單",
seasoning: {
sugar: "22g",
salt: "10g",
pepper: "10g"
}
};
```
問題二
// 取得 country 的值
console.log(weather.country); // 方法一
console.log(weather["country"]); // 方法二
// 取得 "PM2.5" 的值
console.log(weather["PM2.5"]);
// 取得 isSunny 的值
console.log(weather.isSunny); // 方法一
console.log(weather["isSunny"]); // 方法二
// 取得 rainingRegion 陣列的第一個值 '鼓山'
console.log(weather.rainingRegion[0]);
// 在 rainFall 新增一個屬性名為「旗津」、設定值為 200,並輸出結果
weather.rainFall.旗津 = 200; // 方法一
console.log(weather.rainFall);
weather["rainFall"]["旗津"] = 200; // 方法二
console.log(weather["rainFall"]);
-->