「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScriptの配列を効率的にシャッフルするにはどうすればよいですか?

JavaScriptの配列を効率的にシャッフルするにはどうすればよいですか?

2025-03-04に投稿されました
ブラウズ:177

How Can I Efficiently Shuffle an Array in JavaScript?

javascript

を使用してアレイをシャッフルするシャッフルアルゴリズムは、javascriptのシャッフルアレイに効果的な方法を提供します。要素をランダムに交換することにより、可能な各順序が発生する可能性が平等になることを保証します。 var j、x、i; for(i = a.length-1; i> 0; i-){ j = math.floor(math.random() *(i 1)); x = a [i]; a [i] = a [j]; a [j] = x; } aを返します。 }

このアルゴリズムは、配列を逆順序で繰り返し、各要素を配列内のランダム要素と交換します。結果の配列は、スワップのランダムな性質のためにシャッフルされます。 ['1'、 '2'、 '3'、 '4'、 '5'、 '6'、 '7'、 '8'、 '9']; shuffle(myarray);

es6バージョン

function shuffle(a) {
    var j, x, i;
    for (i = a.length - 1; i > 0; i--) {
        j = Math.floor(Math.random() * (i   1));
        x = a[i];
        a[i] = a[j];
        a[j] = x;
    }
    return a;
}

function shuffle(a){ for(i = a.length-1; i> 0; i--){ const j = math.floor(math.random() *(i 1)); [a [i]、a [j]] = [a [j]、a [i]]; } aを返します。 }

実装プロトタイプ

このアルゴリズムは、配列の直接シャッフルを促進する配列プロトタイプメソッドとして実装できます:

var myArray = ['1','2','3','4','5','6','7','8','9'];
shuffle(myArray);

この実装により、arr.shuffle()syntax。を使用してアレイをシャッフルできます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3