JS-產生1到100數字的Array
Array.push()
& Array.from()
2–1 期末 peer review 作業讓電腦猜 1 到 100 的整數,為了讓電腦不猜重複的數字,所以先把 1 到 100 放到陣列裡,電腦從這個陣列裡隨機取出一個數字,取過的從陣列裡 splice 掉。
這篇只談「產生數字的陣列」這件事。
單純如我,就用 for loop 把數字一個個 push 進去空 array 裡。(以下用1到5)
1 | let guessArray = [] |
助教提供另一個方法來做:
1 | const emptyArray = Array(5) // [ <5 empty items> ] |
如果第一行這樣改
(不行) emptyArray = []
(可以) emptyArray = [0, 0 ,0 ,0 ,0]
在 MDN 裡面是這樣說的,而助教示範的是第二行寫法(有用到index)。
An array-like or iterable object to convert to an array.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
``` javascript
// Arrow function
Array.from(arrayLike, (element) => { /* ... */ } )
Array.from(arrayLike, (element, index) => { /* ... */ } )
// Mapping function
Array.from(arrayLike, mapFn)
Array.from(arrayLike, mapFn, thisArg)
// Inline mapping function
Array.from(arrayLike, function mapFn(element) { /* ... */ })
Array.from(arrayLike, function mapFn(element, index) { /* ... */ })
Array.from(arrayLike, function mapFn(element) { /* ... */ }, thisArg)
Array.from(arrayLike, function mapFn(element, index) { /* ... */ }, thisArg)
Array.from()
的第一個參數是要拿來 loop 的,所以想要 return 出來的陣列有幾個值,第一個參數裡就要有幾個坑就是了(吧)
還不知道哪邊會用到,到時再慢慢參透。