質問: 0; i < 6; i++) { nums.push(Math.floor(Math.random()*(max + 1 - min ))+min );//ランダム1~43 } ``` ・やりたい事 ランダムに作られた数字を配列にする事ができたのですが、 重複した数字も入ってしまうことがわかりました。 上記のコードを生かして ランダムにつくられた数字の配列の中で重複がないようにしたいです。
回答: ### new Set 重複を許さない仕様なら、`Set` が最適だと思います。 * Set - JavaScript | MDN ``` function sample (min, max, length) { const set = new Set; while (set.size < length) { set.add(Math.floor(Math.random() * (max - min + 1)) + min); } return Array.from(set); } console.log(sample(1, 43, 20)); ``` 演算コストを安くするなら、 ``` function sample2 (min, max, length) { const set = new Set; let i = 0; while (i++ < length) { set.add(Math.floor(Math.random() * (max - min + 1)) + min); } while (set.size < length) { set.add(Math.floor(Math.random() * (max - min + 1)) + min); } return Array.from(set); } console.log(sample2(2, 20, 10)); ``` Re: mi_mi さん