我有一个动态数组,其示例如下
var nums=[25,12,23,47,55,116,17,80,92,150,191,142,13,124,15,176,187,18,19,20,21,30,31];
您能否告诉我如何从 nums
中选择 3 个唯一的项目并使用纯 JS 的 jQuery 将它们加载到新数组中?
我已经尝试过了
var arr = []
while(arr.length < 3){
var randomnumber=Math.ceil(Math.random()*nums.length)
var found=false;
for(var i=0;i<arr.length;i++){
if(arr[i]==randomnumber){found=true;break}
}
if(!found)arr[arr.length]=randomnumber;
}
但我没有得到我想要的
最佳答案
while (arr.length < 3) {
var randomIndex = Math.floor(Math.random()*nums.length);
if (arr.indexOf(nums[randomIndex]) === -1) {
arr.push(nums[randomIndex])
}
}
这里,每次循环时我都会创建一个新的随机索引,然后检查该数字是否已在我们的结果数组中。如果不是,我们将其插入,否则我们就重新开始。
关于javascript - 如何从动态数组中选择 3 个唯一的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34406589/