Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでランダムに配列をシャッフルする方法は?


_。shuffle()

_。シャッフル underscore.jsに属する関数です 、フレームワーク javascriptの。この関数は実際にはフィッシャー-イェーツシャッフルを採用しています 要素をランダムにシャッフルするアルゴリズム。

構文

_.shuffle(array);

このメソッドは、配列をパラメーターとして受け取り、それをシャッフルして要素をランダムに取得します。 フィッシャー-イェーツシャッフルを使用します 配列をシャッフルするアルゴリズム。単一の入力の場合、さまざまなランダム出力を生成します。

<html>
<body>
<script
   type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   document.write(_.shuffle(["raj", "pankaj", "rahim", "rachel", "Balakrishna"]))
</script>
</body>
</html>

出力

rahim,Balakrishna,pankaj,raj,rachel


フィッシャー-イェーツシャッフルを使用して大きなオブジェクトをシャッフルすることもできます アルゴリズム。単一の入力の場合、さまざまな出力が得られます。

<html>
<body>
<script
   src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   var people = [
                 {"name": "Ram", "age": 27},
                 {"name": "Rahim", "age": 28},
                 {"name": "Rakul", "age": 29},
                 {"name": "Rohti", "age": 21}
                ]
   document.write(JSON.stringify(_.shuffle(people, 'age')));
</script>
</body>
</html>

出力

[{"name":"Rahim","age":28},{"name":"Rakul","age":29},{"name":"Ram","age":27},{"name":"Rohti","age":21}]

  1. JavaScriptで配列をセットに変換する方法は?

    以下は、JavaScriptで配列を設定に変換するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body

  2. JavaScriptでIDごとにオブジェクトの配列をグループ化する方法は?

    以下は、JavaScriptでオブジェクトの配列をIDでグループ化するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>