我有一个数组,需要从该数组中选择三个随机值。这些将被放入一个新阵列,我将能够在我的网站上看到新阵列。我还必须确保没有两次获取任何值。
这是我到目前为止所做的:
var student = ["Hans","Ole","Nils","Olav","Per","Knut","Line","Pia"];
var velg = student[Math.floor(Math.random() * student.length)];
我想我应该为我的HTML添加一个id,所以新的数组会在我的网站上显示,但我不确定其余的。
答案 0 :(得分:2)
首先将其随机排序然后获得前三个:
app.UseMiddleware<MyWaitForAppStartupMiddleware>();
由于Math.random()返回介于0和1之间的随机值,而sort期望值为正或负以确定我们的顺序,我们需要减去0.5以使这些负数成为可能。
答案 1 :(得分:0)
你可以在循环中尝试这样的事情
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