jsで配列をシャッフルする
マークダウンの練習がてら、BoostNoteに書いていたメモを少しずつこっちに移していこうかなと。
とりあえず最初はこれ。
const shuffleArray = (array)=>{ let n = array.length, t, i; while (n) { i = Math.floor(Math.random() * n--); t = array[n]; array[n] = array[i]; array[i] = t; } return array; };
引数に配列を渡してやると、シャッフルして返します。
const exampleArray = [1,2,3] console.log(shuffleArray(exampleArray));
コンソールにシャッフルされた配列が表示されるかと思います。
因みに、下記のようにすれば、より簡潔に書けますが、 シャッフルに偏りが出てしまうので、ある程度厳密なシャッフルが必要な場合は 注意が必要です。
const exampleArray = [1,2,3] exampleArray.sort(() => Math.random() - 0.5); console.log(exampleArray);
おしまい