この章では、コードの例を介して単純な4ビット乱数関数を実装する方法を紹介します。
それを実装する比較的簡単な方法は、数字と文字から4つの非繰り返し文字をランダムに抽出することです。
コードの例は次のとおりです。
関数のみ(ele、arr){if(arr.length == 0){return true; } for(var j = 0; j <arr.length; j ++){if(ele == arr [j]){return false; } else {return true; }}} var arr = [0,1,2,3,4,5,6、 "a"、 "b"、 "c"、 "d"、 "e"、 "f"、 "g"]; (function(){var randnum = null; var old = []; var str = ""; function done(){randnum = math.floor(math.random()*14); if(only(randnum、old)){str = arr [randnum]; old.push(randnum); done();} console.log(str);上記のコードは要件を実装しています。上記のコードの実装プロセスを紹介しましょう。
1。コードコメント:
1.機能のみ(ELE、arr){}、この関数は、指定されたインデックスが使用され、乱数が繰り返されるかどうかを決定できます。
2.if(arr.length == 0){}、配列が空である場合、それはそれが重複する状況ではなく、真実を返すことを意味します。
3.(var j = 0; j <arr.length; j ++){}、配列が空でない場合、配列の要素を繰り返して比較します。重複がない場合、それは真実に戻り、それ以外の場合はfalseを返します。 4.Var arr = [0,1,2,3,4,5,6、 "a"、 "b"、 "" "" "" d "、" e "、" f "、" g "]、乱数の配列を取得し、もちろん拡張できます。
5.(function(){})(arr)、自己実行関数とパラメーターの渡し。
6.Var randnum = null、変数を宣言し、初期値をnullに割り当て、ランダムに生成された配列インデックスを保存します。
7.Var Old = []、表示された配列インデックス値を保存する空の配列を作成します。
8.Var str = ""、生成された乱数を保存する空の文字列を作成します。
9.Function done(){}、この関数を使用して乱数を取得できます。
10.randnum = math.floor(math.random()*14)、配列のインデックス値を取得します。
11.if(only(randnum、old)){
str = str+arr [randnum];
old.push(randnum);
}、それが使用されているかどうかを判断します。そうでない場合は、配列要素を取得してSTR文字列に追加し、最後にこのインデックス値を古い配列に追加します。
12.else {done();
}、あなたがそれを使用した場合、それをもう一度取得してください、ここに再帰の使用方法があります。
13.for(var index = 0; index <4; index ++){
終わり();
}、forループを使用して4つの乱数を取得します。
From:http://www.softwhy.com/forum.php?mod=viewthread&tid=16493