从数组中挑选随机值并创建新数组

时间:2015-09-28 11:25:23

标签: javascript arrays

我有一个数组,需要从该数组中选择三个随机值。这些将被放入一个新阵列,我将能够在我的网站上看到新阵列。我还必须确保没有两次获取任何值。

这是我到目前为止所做的:

 var student = ["Hans","Ole","Nils","Olav","Per","Knut","Line","Pia"];
 var velg = student[Math.floor(Math.random() * student.length)];

我想我应该为我的HTML添加一个id,所以新的数组会在我的网站上显示,但我不确定其余的。

2 个答案:

答案 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