亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Javascript從隨機生成的數字數組中省略0?

如何使用Javascript從隨機生成的數字數組中省略0?

Cats萌萌 2021-10-21 17:20:42
我已經完成了一個代碼,它將生成從 0 到 49 的 7 個隨機數。HTML<button id="btn_generate" onClick="getMyLuckyNumbers()">GENERATE NUMBERS</button><div id="display"></div>JSfunction getMyLuckyNumbers() {for (var allNumbers=[],i=0;i<50;++i) allNumbers[i]=i;function shuffle(array) {  var tmp, current, top = array.length;  if(top) while(--top) {    current = Math.floor(Math.random() * (top + 1));    tmp = array[current];    array[current] = array[top];    array[top] = tmp;  }  return array;}allNumbers = shuffle(allNumbers);var luckyNumbers = "";var g;for (g = 0; g < 7; g++) {    luckyNumbers += allNumbers[g] + "<br>";}document.getElementById("display").innerHTML = luckyNumbers;}我想知道如何省略 0?我嘗試了兩種方法,但都失敗了。嘗試 1:將 更改i=0為i=1。for (var allNumbers=[],i=1;i<50;++i)   allNumbers[i]=i;這確實省略了 0,但是當 0 應該隨機出現時,它顯示為未定義。嘗試 2:我試圖做一個 if 語句。if(allNumbers != 0) {  allNumbers = shuffle(allNumbers);}但是如果它碰巧是隨機生成的,它仍然顯示為 0。那么,我如何省略 0?
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

與開始的問題i,從1是該指數將是空的,所以當訪問給。0thundefined


因此,如果您想避免使用 number 0,您可以i從 1 開始,但您需要更改向數組添加數字的方式。不是通過將數字放置在特定索引處將數字添加到數組中,而是可以.push()在每次迭代時將它們添加到數組的末尾,如下所示:


//                      \/------ start at i = 1, the 1st number to be added to your array

for (var allNumbers=[],i=1;i<50;++i) 

  allNumbers.push(i);

這樣,你將填補與數字您的陣列1,以49它可將進行改組。


查看完整回答
反對 回復 2021-10-21
  • 1 回答
  • 0 關注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號