リストシャッフラー

どんなリストでも1行に1項目ずつ貼り付ければ、本当にランダムな順序で返すか、1つの項目をランダムに引き出せます。抽選をする、誰が先かを決める、質問を並べ替える、レビュー担当を選ぶ、あるいは単に優柔不断を断ち切るのに便利です。納得のいく順序になるまで、何度でもシャッフルできます。

リストをランダムに並べ替える方法

  1. 1

    項目を貼り付ける

    1行に1つ。空行は無視されます。

  2. 2

    シャッフルまたは抽選

    「リストをシャッフル」を押すとリスト全体がランダムな順序になり、「1つ選ぶ」を押すと項目を1つだけランダムに引き出します。

  3. 3

    結果を使う

    シャッフルしたリストをコピーするか、もう一度シャッフルすれば毎回新しい順序になります。

シャッフルの仕組み

どの項目もあらゆる位置に来る確率が同じなので、リストの先頭や末尾に偏る項目はありません。もう一度シャッフルすれば、毎回それぞれ独立した新しい順序が得られます。

「ランダムに並べ替える」だけではだめな理由

ランダムな比較関数で並べ替える(list.sort(() => Math.random() - 0.5))のは、よく知られた落とし穴です。生成される並びは均等ではありません。一部の順序は他よりもはるかに多く出現し、その偏りは並べ替えの実装に左右されます。正しいシャッフルは、どの並びも等しく起こり得るものとして扱います。

よくある使い方

用途 やり方
抽選の当選者 参加者を貼り付け、シャッフルし、先頭を取る
発表の順番 名前を貼り付け、シャッフルし、上から順に発表する
ペア分け(1と2、3と4) シャッフルして2つずつ読む
レビュー担当の持ち回り シャッフルして先頭からいくつか取る
優柔不断 選択肢を貼り付けて1つ選ぶ

よくある質問

カジュアルな抽選なら大丈夫です。順序は均等にランダムです。規制対象のギャンブルや、結果に異議が出る可能性のある抽選には、検証可能なシード値を記録する監査済みのサービスを使ってください。

非常に長いリストでも問題なくシャッフルできます。膨大なリストの上限は、主に貼り付けやコピーが快適にできるテキスト量で決まります。

残ります。各行はそれぞれ独立した項目として扱われるため、同じ名前が2回あれば、シャッフル後も2回残ります。

関係しません。結果は項目を貼り付けた順序に左右されないので、五十音順のリストでも逆順のリストでも、同じくらいランダムな結果になります。

関連ツール

このツールは他の言語でも利用できます