使用 javascript 回显数组的 4 个随机元素
Echo 4 random element of array using javascript
我有数组
var arr = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5', 'elem6', 'elem7', 'elem8'];
如何使用 javascript 回显它的 4 个随机元素?
如果你想要不同的元素,你可以从数组中一次提取一个元素
function extractRandomElement(arr) {
var index = Math.floor(Math.random() * arr.length);
return arr.splice(index, 1)[0];
}
var arr = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5', 'elem6', 'elem7', 'elem8'];
var arrCopy = arr.slice(0); // copy the array so the original is unchanged
var result = [];
var N = 4;
for (var i=0; i<N; i++) {
result.push(extractRandomElement(arrCopy));
}
console.log(result);
另一种方法是随机排序(随机排序)数组,然后获取前 4 个元素:
var arr = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5', 'elem6', 'elem7', 'elem8'];
var arrCopy = arr.slice(0); // copy the array so the original is unchanged
var N = 4;
var result = arrCopy.sort(function(){ return Math.random()-0.5; }).slice(N);
console.log(result);
这个问题的答案与这个问题重复,非常好:https://stackoverflow.com/a/7159251/1669279
这是对上述第一种方法的改进:
function extractRandomElement(arr) {
var index = Math.floor(Math.random() * arr.length);
var retVal = arr[index];
arr[index] = arr.pop();
return retVal;
}
您可以使用以下代码获取随机元素:
arr[Math.floor(Math.random() * arr.length)];
这个呢:
var arr = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5', 'elem6', 'elem7', 'elem8'];
arrLength = arr.length;
var randomNummer = Math.floor(Math.random()*arrLength);
alert(arr[randomNummer]);
js小提琴
如果您尝试获取该数组的 4 个唯一元素,则应始终删除随机检索的元素:
var arr = ['elem1', 'elem2', 'elem3', 'elem4', 'elem5', 'elem6', 'elem7', 'elem8'],
random_values = [];
for (var i = 0; i < 4; i++ ) {
var length = arr.length,
random = Math.floor(Math.random()*length+1);
random_values.push(arr[random]);
// Remove the already selected element from the arr array
arr.splice(random, 1);
}
console.log(random_values);
您可以使用以下代码获取 4 个随机元素:
var element1 = arr[Math.floor(Math.random() * arr.length)];
var element2 = arr[Math.floor(Math.random() * arr.length)];
var element3 = arr[Math.floor(Math.random() * arr.length)];
var element4 = arr[Math.floor(Math.random() * arr.length)];
相关文章:
- Javascript - 如何按顺序从数组中挑选随机元素
- ReactJS-目标随机元素
- JQuery-随机元素在容器内的绝对位置和旋转
- 如何从JSON中提取n个随机元素
- 使用 javascript 回显数组的 4 个随机元素
- 如何从数组中获取随机元素而不重复并将其放入文本区域
- 使用 jquery 为每几个随机元素添加类
- 为变量分配有限集合中的随机元素
- 选择随机
- 元素
- 拼接删除JavaScript中的随机元素问题
- AngularJS:从JSON文件中获取三个随机元素
- Javascript 或 jQuery 在页面刷新时显示随机元素
- Jasmine中的spyOn函数,该函数从数组中返回随机元素
- 如何使用jquery随机元素排序
- 从javascript中的关联数组中获取随机元素
- 如何从数组中选择随机元素并将其从列表中删除
- 页面上的随机元素
- 从数组中获取随机元素返回相同的元素
- 选择随机元素
- 从redis集合中获得随机元素,没有重复