フィッシャー–イエーツによる配列のシャッフル。
入れ替え部分が分割代入で書ければ一行で済んでスッキリ。
const shuffleArray = arr => {
let n = arr.length
while (n) {
const r = Math.floor(Math.random() * n--);
[arr[r], arr[n]] = [arr[n], arr[r]]
}
return arr
}
More than 3 years have passed since last update.
フィッシャー–イエーツによる配列のシャッフル。
入れ替え部分が分割代入で書ければ一行で済んでスッキリ。
const shuffleArray = arr => {
let n = arr.length
while (n) {
const r = Math.floor(Math.random() * n--);
[arr[r], arr[n]] = [arr[n], arr[r]]
}
return arr
}
Register as a new user and use Qiita more conveniently