簡體   English   中英

JS:如何在循環中將數組隨機化,但每個值只能選擇一次?

[英]JS: How to randomize an array in a loop yet only allow each value to be selected once?

滿嘴

基本上,我有一個循環,正在為數組值分配1和4之間的唯一數字。 該循環運行4次,由於上一循環已使用過,因此每次應少選擇一個。

這是一個JS小提琴: https : //jsfiddle.net/jtree5757/mh3okwaj/

這是一些代碼:

var employee_name = document.getElementsByClassName("employee-name");
var masterArray = [];

var numbersArr = [1, 2, 3, 4];
var random = numbersArr.splice(Math.random()*numbersArr.length,1)[0];

for(i=0; i < employee_name.length; i++){
    masterArray.push({
        name: employee_name[i].innerText,
        shift: random
    });
}

對於循環的每個循環,這將輸出相同的數字。 不知道該去哪里。

var random = numbersArr.splice(Math.random()*numbersArr.length,1)[0];

這段代碼應該在您的for循環中。 這樣,每次迭代都會生成新值。

您可以看到更新的小提琴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM