[英]Picking random values from array and creating new array
我有一個數組,需要從該數組中選擇三個隨機值。 這些將被放入一個新的陣列中,我將能夠在我的網站上看到該新陣列。 我還必須確保沒有值被兩次選擇。
這是我到目前為止的內容:
var student = ["Hans","Ole","Nils","Olav","Per","Knut","Line","Pia"];
var velg = student[Math.floor(Math.random() * student.length)];
我想我應該在HTML中添加一個id,這樣新的數組就會顯示在我的網站上,但是我不確定其余的內容。
首先將其隨機排序,然后得到前三個:
student
.sort(function(){
return Math.random() - 0.5;
})
.slice(0,3)
由於Math.random()返回0到1之間的隨機值,而sort期望值是正數或負數來確定我們的階數,因此我們需要減去0.5以使這些負數成為可能。
您可以循環嘗試這樣的事情
var students = ["Hans","Ole","Nils","Olav","Per","Knut","Line","Pia"];
var randomStudents = [];
for(var i = 0; i < 3; i++) {
var velg = student[Math.floor(Math.random() * students.length)];
randomStudents.push(velg);
}
請注意,這可以將重復的學生添加到數組中。 您應該檢查學生是否已經在數組中,然后重試。
關鍵字是遞歸。
https://www.codecademy.com/courses/javascript-lesson-205/0/1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.