---
# System prepended metadata

title: 迴圈
tags: [JS 直播班 - 2022 秋季班]

---

---
tags: JS 直播班 - 2022 秋季班
---
###### tags: `簡單`

# 迴圈
## 本章節我們要學什麼？
考驗同學操作迴圈的能力，讓重複的事項交給程式處理。

:::danger
在本章節中為了達成練習迴圈的目的禁止使用現成的方法如：forEach、reduce、Math.min()…… 每一題最少使用以下一種方式來解題。

* [while](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements/while)
* [for](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements/for)
* [for...in](https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Statements/for...in)
* [for...of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of)
:::
:::success
可參考看看：[助教出題前筆記](https://www.webdong.dev/post/javascript-loops/)，或許會對解題有幫助 😎
:::


## 第一題：大雄罰寫
大雄上課睡覺，被斑導要求罰寫 500 次自己的名字，你是哆啦 A 夢，快救救大雄吧！
請依照以下格式打印大雄的罰寫內容在終端上：


```javascript
// Todo 待編輯
function writeMyName(times) {  
  console.log("次數-野比大雄")
}
writeMyName(500)

// Output 輸出
// * 1-野比大雄
// * 2-野比大雄
// * 3-野比大雄
// * ...
// * 500-野比大雄
```

## 第二題：水果季節
請製作一個函式可以將物件使用以下格式回傳，並且打印結果至終端：

```javascript
// Todo 待處理
const seasonFruit = {
  春天: ["梅子", "枇杷"],
  夏天: ["西瓜", "桃子"],
  秋天: ["火龍果", "百香果"],
  冬天: ["橘子", "柳丁"]
}

function printObject(obj) {
    //...
}

console.log(printObject(seasonFruit))

// Output 輸出
// "春天有梅子、枇杷
// 夏天有西瓜、桃子
// 秋天有火龍果、百香果
// 冬天有橘子、柳丁"
```

## 第三題：挑出未成年
請製作一個函式可以過濾傳入物件中未成年的名單，並打印結果至終端：
``` javascript

// Todo 待處理
const group = [
  {
    name: "小明",
    age: 18
  },
  {
    name: "小美",
    age: 7
  },
  {
    name: "小華",
    age: 80
  }
]
function filterUnder18(persons) {
    //...
}

console.log(filterUnder18(group))
// Output 輸出
[{
    "name": "小美",
    "age": 7
}]

```


## 第四題：反轉陣列
請製作一個函式可以回傳反轉後的陣列。
```javascript
// Todo 待處理
function reverseArray(arr) {
    //...
}
console.log(reverseArray([1,2,3,4,5]))

// Output 輸出
[5,4,3,2,1]

```

## 第五題：陣列最大值
請製作一個函式可以回傳陣列中最大的值。
```javascript
// Todo 待處理
function getMaxValue(arr) {
    
}
console.log(getMaxValue([1,5,8,2]))
// Output 輸出
8
```

## 第六題：陣列計數
請製作一個函式可以回傳輸入陣列的項目的數量。
```javascript
// Todo 待處理
function countArray(arr) {
    
}

console.log(countArray(["A","B","A","C","D","E","E"]))

// Output 輸出
{ A: 2, B: 1, C: 1, D: 1, E: 2 }
```


## 第七題：乘法表
請製作一個可以打印 a x b 大小的乘法表的函式：

```javascript
// Input 輸入
console.log(tableAxB(9, 9))

// Output 輸出
"
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9
//
//... 省略 ...
//
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
"
```

## 第八題：蓋金字塔
請輸入金字塔的最高峰並打印至終端中
``` javascript
// Input 輸入
pyramid(5)

// Output 輸出
"*"
"**"
"***"
"****"
"*****"
"****"
"***"
"**"
"*"
```

## 第九題：蓋房子
請製作一個函式，輸入一正整數回傳一棟用文字構成的方磚屋，規則如下：
* 房子四面由「磚」構成
* 房子上方正中央為「門」構成
* 房子邊長如無法被整除為正整數，將門往任一邊旁邊放一格
* 替整個房子加上屋頂骨架
* 房子內部由「空」構成

``` javascript
// Input 輸入
console.log(square(1))
console.log(square(2))
console.log(square(3))
console.log(square(4))
console.log(square(5))

// Output 輸出

"
磚
"

"
磚磚
磚磚
"

"
骨門骨
磚骨磚
骨磚骨
"

"
骨磚門骨
磚骨骨磚
磚骨骨磚
骨磚磚骨
"

"
骨磚門磚骨
磚骨空骨磚
磚空骨空磚
磚骨空骨磚
骨磚磚磚骨
"

```

## 第十題：生成[費波那契](https://zh.m.wikipedia.org/zh-tw/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0)數列
請製作一個函式可以輸入要產生多少個費撥那契數列數字，並回傳對應的費撥那契數列為陣列。

```javascript
// Todo 待處理
function generateFibonacci(max) {
    
}
console.log(generateFibonacci(5))

// Ouput 輸出
[0,1,1,2,3]
```
## 回報流程

1. 將答案貼在 Codepen 並複製 Codepen 連結貼至「回報區」回報
（也可以將答案直接貼至「回報區」）

![](https://i.imgur.com/vftL5i0.png)

## 作業提交等級
* LV1：解出 10 題，並提交 CodePen
* LV2：設計一個 hackmd，嘗試自己設計 5 題
* LV3：嘗試去做其他學生寫的題目，並 tag 學員回報給他，感謝他的命題，讓自己觀念更好

回報區
---

:::warning
本次作業邏輯更為複雜，如有疑問歡迎到 [第七週刷題任務 - 迴圈](https://discord.com/channels/801807326054055996/1041517826042761336) 中發問，助教會上去解惑～
:::

|         Discord         | LV  |                                  CodePen / 答案                                  |
|:-----------------------:|:---:|:--------------------------------------------------------------------------------:|
| Rice#8043 | LV1 | [CodePen](https://codepen.io/riecball/pen/gOKMNeM?editors=0111) |
| hsiung阿熊#4079 | LV1 | [CodePen](https://codepen.io/hsiungchi/pen/jOKwMBW) |
|RJRS#9430|LV1|[CodePen](https://codepen.io/RJRS/pen/qBKjarY)|
|yawun#0042|LV1|[CodePen](https://codepen.io/monicalin/pen/wvXeope)|
|JackC#0411|LV1|[CodePen](https://codepen.io/key0329/pen/eYKRdXy)|
|心幻羽#0056|LV1|[CodePen](https://codepen.io/linglingsyu/pen/JjZJWQe?editors=1111)|
|圈圈#4060|LV1|[Codepen](https://codepen.io/wjejfczn-the-bold/pen/bGKRwad?editors=1111)|
|柔柔#1716|LV1|[Codepen](https://codepen.io/rouchen/pen/ZERyJRy?editors=0011)
|hannahTW#2224|LV1|[Codepen](https://codepen.io/hangineer/pen/VwdWWwm?editors=1112)
|無名#6427|LV1|[Codepen](https://codepen.io/Nomoney/pen/oNywYKx)
|jimmyFang#9575|LV1|[Codepen](https://codepen.io/pohxiqqo/pen/GRGEXmz?editors=0011)
|albee#9121|LV1|[Codepen](https://codepen.io/albee-chang/pen/PoajQOb?editors=1012)|
| m_m#5493 | LV1 | [CodePen](https://codepen.io/minnn7716/pen/BaVZWwB) |
|azami#5986|LV1|[Codepen](https://codepen.io/azami/pen/vYrZqEy)|
|kuku#3118|LV1|[Codepen](https://codepen.io/mengting-ku/pen/YzvxXxK)
|mandylai#4055|LV1|[Codepen](https://codepen.io/mandy-lai-2/pen/NWzgbMw)
|kenki100#0068|LV1|[Codepen](https://codepen.io/ken100/pen/MWXovej)|
|出事了阿伯#9923|LV1|[Codepen](https://codepen.io/BradpittLai/pen/gOKxwVY?editors=1010)|
|Amberhh#2465|LV1|[Codepen](https://codepen.io/Amberhh/pen/zYadGJe) |
|Sentiments#4883|lv1|[codepen](https://codepen.io/Sentiments/pen/GRGMZKL?editors=1010)
|KuoMin#4931|lv1|[codepen](https://codepen.io/KuoMin/pen/qBKPNQZ)
|Vera#5592|LV1|[CodePen](https://codepen.io/skvera/pen/eYKevoZ)
|PayRoom#8328|LV1|[CodePen](https://codepen.io/water38198/pen/abKyXWj)
|Kevin#6131|LV1|[CodePen](https://codepen.io/xlqjezvc-the-encoder/pen/xxzXjWd?editors=1011)
|WEI_RIO#9342|LV1|[Codepen](https://codepen.io/wei_wu/pen/eYKRdwV?editors=1011)|htClara#1275n.io/bsupixqu/pen/vYrJJez
|SASIMI#5099|LV1|[Codepen](https://codepen.io/sashimi1327/pen/LYrQdWJ)|
|三隻小貓#1905|LV1|[CodePen](https://codepen.io/bagelover/pen/LYreyGz?editors=0111)|
|Paul#7426|LV1|[CodePen](https://codepen.io/paul-1997/pen/MWXrMGQ?editors=0011)|
|charlottelee849#0366|LV1|[CodePen](https://codepen.io/char849/pen/poKOLyO?editors=0012)|
|Kimi#9564|LV1|[CodePen](https://codepen.io/kimihu91/pen/abKMwjG)|
|軟綿綿 (๑•ᴗ•๑) ♡#3627|LV1|[CodePen](https://codepen.io/Connie-Chien/pen/wvXOWKV?editors=0012)|
|Lucie#3831|LV1|[Codepen](https://codepen.io/bisespei/pen/XWYOmeq)|
|蓁心#6229|LV1|[Codepen](https://codepen.io/tlorfrnl-the-typescripter/pen/yLqapXe?editors=0011)|