2022-05-13

anond:20220513182540

シャッフル乱数の生成回数が多いので

const list = [0,1,2,3,4,5,6,7,8,9];
const a = list.splice(Math.floor( Math.random() * 10), 1); // 0~9のインデックスランダムに得てそのインデックスの値を取りだす、その要素を配列から削除。
const b = list.splice(Math.floor( Math.random() * 9), 1); // 0~8のインデックスランダムに得て(ry
const c = list.splice(Math.floor( Math.random() * 8), 1); // 0~7の(ry

とやると乱数生成3回で済むのでもしかしたら少し軽くなるかも

記事への反応 -
  • なるべく軽い方法で三つの異なる数字を求めたい(例123、526)言語はJavaScript 今はLoop文で 1つ目をランダムで出す 2つ目をランダムでだし、1つ目と値が同じなら、5以上なら...

    • たいていの言語には配列のシャッフル機能がある。 なので、(0,1,2,3,4,5,6,7,8,9) の配列を作り、シャッフルさせる。 →(1,5,8,2,3...) みたいになる。 3桁の数字が欲しいなら、最初の3つをつか...

      • 天才!採用! ありがとう

        • シャッフルは乱数の生成回数が多いので const list = [0,1,2,3,4,5,6,7,8,9];const a = list.splice(Math.floor( Math.random() * 10), 1); // 0~9のインデックスをランダムに得てそのインデックスの値を取りだす、...

        • JavaScript にはシャッフル機能が無いので、 function shuffle(array) { for (let i = array.length - 1; i > 0; i--) { let j = Math.floor(Math.random() * (i + 1)); // 0 から i のランダムなインデックス [array[i], arr...

    • 0〜9のリストからランダムピックアップすればいいんじゃない? 最初が0だと桁が足りないからそこだけ工夫がいるけど

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん