私は次のような配列を持っています
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
これらのエントリの乱数を順番に取得して、新しい配列に制限までプッシュしたいと考えています。
つまり、たとえば、(5) を入力した場合、次のような新しい配列へのランダムなエントリが並べ替えられます。
[1, 4, 7, 10, 12]
私は試した
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
var newArr = [], num, roll;
//remove number from array
for(var i =0; i < arr.length; i++) {
num = Math.floor(Math.random() * arr.length);
newArr.push(arr[num]);
roll = arr.splice(num, 1);
}
しかし、注文を維持する必要があるため、必要なものは実際には返されません。それが役立つ場合、私はアンダースコアを使用していますか?