javascript - 如何从 Javascript 或 Jquery 中的数组中选择随机值?

标签 javascript jquery

<分区>

我正在尝试显示数组中的 3 个随机值。以下脚本仅从 javaScript 数组返回单个项目。

var arrayNum = ['One', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];  
var singleRandom = arrayNum[Math.floor(Math.random() * arrayNum.length)];
alert(singleRandom);

但我想显示数组 arrayNum 中的三个随机值,任何人都可以指导我是否可以使用 javascript 从数组中获取 3 个唯一的随机值?如果有人指导我,我将不胜感激。谢谢

最佳答案

我假设您正在询问如何获得一个由当前数组中的三个元素组成的新数组。

如果您不介意重复的可能性,您可以做一些简单的事情,例如:下面的 getThree

但是,如果您不想重复值,可以使用 getUnique

var arrayNum = ['One', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];  

function getThree() {
  return  [
    arrayNum[Math.floor(Math.random() * arrayNum.length)],
    arrayNum[Math.floor(Math.random() * arrayNum.length)],
    arrayNum[Math.floor(Math.random() * arrayNum.length)]
  ];
    
}


function getUnique(count) {
  // Make a copy of the array
  var tmp = arrayNum.slice(arrayNum);
  var ret = [];
  
  for (var i = 0; i < count; i++) {
    var index = Math.floor(Math.random() * tmp.length);
    var removed = tmp.splice(index, 1);
    // Since we are only removing one element
    ret.push(removed[0]);
  }
  return ret;  
}
console.log(getThree());

console.log("---");
console.log(getUnique(3));

关于javascript - 如何从 Javascript 或 Jquery 中的数组中选择随机值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771282/

相关文章:

javascript - 像 jQuery 一样在函数结果上调用函数

javascript - 当其他菜单点击JQuery时如何隐藏子菜单

javascript - 在 Facebook Messenger 上使用 puppeteer 时没有选择器 Node

javascript - 在响应式布局中,如何让 div 均匀收缩?

jquery - 移动 jQueryUI 自动完成的位置

javascript - jQuery 同位素表问题,Firefox 除外

javascript - 如何获得 svg 线元素总长度

javascript - 如何从 JSON 中获取值?

.net - 将 JavaScript 日期格式化为字符串以进行 JSON 反序列化

javascript - Dojo/Dijit TitlePane( basemap 库)放置