getRandomNumberArray(count) {
const number = Array.from(Array(count).keys())
for (let index = number.length - 1; index > 0; index--) {
let randomIndex = Math.floor(Math.random() * (index + 1))
;[number[index], number[randomIndex]] = [number[randomIndex], number[index]]
}
return number
}
注意在程式碼裡有一個分號 ;,不是寫錯的。
在 JavaScript 的分號代表「這個執行語句結束了」,大部分的分號都是可以省略的,這裡剛好是不可以省略的。
因為前面呼叫了 Math.floor() 這個函式庫,如果沒有加上分號,會和後面的 [] 連起來,
被解讀成 Math.floor()[],雖然沒有實際的意義,
但因為瀏覽器對 JavaScript 的語法解析很寬鬆,這裡會發生錯誤,
所以需要加上分號變成 Math.floor();[] 來把執行語句隔開。