[英]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.