質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
ECMAScript

ECMAScriptとは、JavaScript類の標準を定めるために作られたスクリプト言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

3回答

3933閲覧

重複の無いランダムな数字を得るには?

JAVA_SHINE

総合スコア16

ECMAScript

ECMAScriptとは、JavaScript類の標準を定めるために作られたスクリプト言語です。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2017/07/16 13:55

編集2022/01/12 10:55

###前提・実現したいこと
クイズを作っていて、問題をかぶらない様に1つのクイズで1回しか出ないようにしたいですが、いい方法がわかりません。
Math.random()を使う方針にしてコードを書いていますが、もっといい方法があるように感じでいます。
どなたかもっといい手段を教えてください。
よろしくお願いします。

###発生している問題・エラーメッセージ

エラーメッセージ

###該当のソースコード

ここにご自身が実行したソースコードを書いてください

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
問題は25問です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

的外れかもしれませんが、以下のように行ってみてはいかがでしょうか?

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>タイトル</title> 6 <style type="text/css"> 7 * { 8 margin: 0; 9 padding: 0; 10 } 11 </style> 12</head> 13<body> 14<div class="question"></div> 15<button type="button">次の問題</button> 16<script> 17 function array_shuffle(array) { 18 for (let i = array.length - 1; i; i--) { 19 let j = Math.floor(Math.random() * (i + 1)); 20 [array[i], array[j]] = [array[j], array[i]]; 21 } 22 return array; 23 } 24 25 let questions = array_shuffle([ 26 "AAA", 27 "BBB", 28 "CCC", 29 "DDD", 30 "EEE", 31 ]), index = 0; 32 33 document.querySelector("button[type='button']").addEventListener("click", () => { 34 if (index < questions.length) { 35 document.querySelector(".question").textContent = questions[index]; 36 index += 1; 37 } else { 38 document.querySelector("button[type='button']").disabled = true; 39 } 40 }, false); 41</script> 42</body> 43</html>

投稿2017/07/16 14:11

s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mpyw

2017/07/16 19:03

Fisher–Yatesアルゴリズムが王道ですね
guest

0

あなたがやろうとしていることは、一般的に「シャッフル」と呼ばれます。
「シャッフル アルゴリズム」などで検索するといい答えが見つかるのではないでしょうか。

投稿2017/07/16 14:01

swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

お手軽に済ますなら、Lodashの_.shuffle(collection)を使ってみてください。

JavaScript

1_.shuffle(_.range(0, 25))

投稿2017/07/16 14:18

raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問