![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
JavaScript初心者です。
配列にランダムな数字を入れたいのですが、
aRnd = new Array();
aRnd[0] = Math.floor(Math.random()*100);
aRnd[1] = Math.floor(Math.random()*100);
aRnd[2] = Math.floor(Math.random()*100);
のようにやると各配列にはランダムな数字が入りますが、重複が発生する可能性があります。これを重複が発生しないようにしたいのですが、どのようにすればいいのでしょうか?
なお、上記例では0~99までの数字を3つの配列にセットする方法となっていますが、配列数や数字の最大値は変更する可能性があるので、これも配慮したいと思います。
よろしくお願いいたします。
No.3
- 回答日時:
function FixedRand(n){
this.data = new Array(100);
for(var i=0;i<n;i++){
this.data[i]=i;
}
}
FixedRand.prototype.Next = function(){
var size = this.data.length;
if(size == 0)
return Number.NaN;
var pos = Math.floor(size*Math.random());
var wk = this.data[size-1];
this.data[size-1]=this.data[pos];
this.data[pos]=wk;
return this.data.pop();
}
var FR = new FixedRand(100);
aRnd = new Array();
aRnd[0] = FR.Next();
aRnd[1] = FR.Next();
aRnd[2] = FR.Next();
ありがとうございました。こちらは関数を使う方法ですね。JavaScript初心者の私には高度すぎて、理解できない部分がありますが、勉強のためにこちらも参考にさせていただきます。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?5a7ff87)
No.1
- 回答日時:
俺はJavascript書ける人間じゃないので文法がそもそもなってないかもしれない(実際に動作確認してない)
n = 2;
a = -1;
b = 0;
i = 0
while(i<n+1)
{
a = Math.floor(Math.random()*100);
for(j= 1;j>i;j++;)
{
if(a == aRnd[j]){
b = 1;
}
}
if(b==0){
aRnd[i] = a;
a = -1;
b = 0;
i=i+1;
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- 物理学 QEDラグランジアンについて 7 2022/09/03 13:17
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- JavaScript Javascript の配列の削除 (初心者) 4 2022/05/02 11:12
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
同じIDで定義した要素の配列を...
-
雪を降らせるみたいな、ゆらゆ...
-
Ajax:getElementsByTagNameで...
-
JSONデータを50音順でソートしたい
-
メソッドが返す配列オブジェク...
-
C#テキストボックスの文字を配...
-
関数内の配列を関数外で使うに...
-
変数内容が'変数名'の文字列な...
-
undefinedを表示させない方法は...
-
JavaScriptでの動的な多次元配...
-
JavaScriptで二次元配列?
-
jQueryで文字数カウンタ(複数...
-
JavaScriptで配列のオブジェク...
-
javascriptを用いて作成された...
-
jspからjavascriptの変数引継ぎ
-
二次元配列の全要素の全要素を...
-
javascript 変数名の連結をしたい
-
関数でy=g(x)のgとは何の略です...
-
なぜmatchメソッドがエラーにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
React hooksが値を返して配列変...
-
undefinedを表示させない方法は...
-
フォーム入力値の重複チェック
-
javascriptで行を抽出したいです。
-
JavaScriptでの動的な多次元配...
-
多次元配列から最大値を1行また...
-
HTMLで誕生石と星座をアラート...
-
JSONデータを50音順でソートしたい
-
重複しないようにランダムで表...
-
1から20までの整数から、重複な...
-
JavaScriptにおける[] とか :...
-
gas 配列
-
【JavaScript】オブジェクト型...
-
WSH(Jscript)でファイル一覧
-
JavaScriptで簡単なクイズを作...
おすすめ情報