本文翻译自:Get random item from JavaScript array [duplicate]

This question already has answers here : 这个问题已经在这里有了答案 :
Getting a random value from a JavaScript array (23 answers) 从JavaScript数组获取随机值 (23个答案)
Closed 4 years ago . 4年前关闭。
var items = Array(523,3452,334,31,...5346);

How do I get random item from items ? 如何从items获取随机items


#1楼

参考:https://stackoom.com/question/Oomm/从JavaScript数组中获取随机项-重复


#2楼

An alternate way would be to add a method to the Array prototype: 另一种方法是向Array原型添加一个方法:

 Array.prototype.random = function (length) {return this[Math.floor((Math.random()*length))];}var teams = ['patriots', 'colts', 'jets', 'texans', 'ravens', 'broncos']var chosen_team = teams.random(teams.length)alert(chosen_team)

#3楼

Use underscore (or loDash :)): 使用下划线(或loDash :)):

var randomArray = ['#cc0000','#00cc00', '#0000cc'
];// use _.sample
var randomElement = _.sample(randomArray);// manually use _.random
var randomElement = randomArray[_.random(randomArray.length-1)];

Or to shuffle an entire array: 或改组整个数组:

// use underscore's shuffle function
var firstRandomElement = _.shuffle(randomArray)[0];

#4楼

// 1. Random shuffle items
items.sort(function() {return 0.5 - Math.random()})// 2. Get first item
var item = items[0]

Shorter: 更短:

var item = items.sort(function() {return 0.5 - Math.random()})[0];

#5楼

const ArrayRandomModule = {// get random item from arrayrandom: function (array) {return array[Math.random() * array.length | 0];},// [mutate]: extract from given array a random itempick: function (array, i) {return array.splice(i >= 0 ? i : Math.random() * array.length | 0, 1)[0];},// [mutate]: shuffle the given arrayshuffle: function (array) {for (var i = array.length; i > 0; --i)array.push(array.splice(Math.random() * i | 0, 1)[0]);return array;}
}

#6楼

Here's yet another way: 这是另一种方式:

function rand(items) {return items[~~(items.length * Math.random())];
}

从JavaScript数组中获取随机项[重复]相关推荐

  1. 如何从JavaScript数组中获取多个随机唯一元素?

    The JavaScript is a very versatile language and it has a function almost everything that you want. J ...

  2. 通过属性值从对象数组中获取JavaScript对象[重复]

    本文翻译自:Get JavaScript object from array of objects by value of property [duplicate] This question alr ...

  3. scala 获取数组中元素_从Scala中的元素列表中获取随机元素

    scala 获取数组中元素 We can access a random element from a list in Scala using the random variable. To use ...

  4. javascript 实现一个定时遍历数组,每隔一段相同的时间取出数组中的一项进行操作

    javascript 实现一个定时遍历数组的方法,每隔一段相同的时间取出数组中的一项进行操作 如果使用频繁建议 可以利用原型链,方法挂在在Array的prototype上面 setTimeInLoop ...

  5. 从python中的列表中获取唯一值[重复]

    本文翻译自:Get unique values from a list in python [duplicate] This question already has an answer here: ...

  6. js数组查找最接近_在JavaScript数组中找到最小元素的位置

    在JavaScript数组中找到最小元素的位置 注*  之前有篇文章介绍过数据遍历的性能比较: for in 比for loop慢至少20倍 ,这是另外一篇比较数组查找性能的例子,通过对手工/inde ...

  7. 判断数组中是否有存在重复值

    面试题:      已知有一长度为100的无序随机整型数组,且数值范围是[1,100],写一算法,判断数组中是否有存在重复值,要求,不得嵌套循环,不得使用递归. 方法一: 1public bool C ...

  8. java 取数组的前90位_java 从int数组中获取最大数的方法

    java 从int数组中获取最大数的方法 首先要有数组的概念吧,知道什么是数组,简单讲就是存放一组数据的一个组合,就是一个数组....哈哈 已知一个int数组, 编程从数组中获取最大数. 思路分析: ...

  9. js 数组去掉括号_如何删除Javascript数组中的方括号?

    我有一个名为value一个数组,当我console.log(value)我得到约30行代码有以下[6.443663, 3.419248]如何删除Javascript数组中的方括号? 的数字变化,因为它 ...

最新文章

  1. Atitit.木马病毒自动启动-------------win7计划任务的管理
  2. erp框架 saas_【观察】一周之后,浪潮云ERP将直面数字化转型2.0四大攻坚战
  3. redis hash key mysql_Linux取得Redis数据库中hash类型的所有feild或者所有value
  4. 一分钟了解 Matlab求两个矩阵的相关程度corr2
  5. String、StringBuffer、StringBuilder区别
  6. 天梯—个位数统计(C语言)
  7. 边缘检测——Prewitt算子
  8. 农场派对(party)(信息学奥赛一本通 1497)
  9. 什么是增量绩效管理?华为是如何做
  10. matplotlib is required for plotting.
  11. JavaScript基础及画布
  12. 树莓派装专用服务器系统,Raspberry Pi 树莓派安装64位系统打造全功能NAS [全网最正确操作记录]...
  13. 代码随想录第十一天 LeetCode 20、1047、150(栈)
  14. 如何 接收消息服务器url,(读书笔记)网络是怎样连接的——浏览器生成消息...
  15. CSS常用背景属性(背景颜色、背景图片、背景平铺、背景位置、背景附着、背景色半透明、背景属性复合写法)
  16. linux 绑定腾讯域名解析,一步步配置腾讯云服务器ubuntu 通过域名访问自己的网页tomcat(详细基础)...
  17. python3爬取微博评论教程_用python 爬取微博评论,怎么打开微博评论下的查看更多|...
  18. 1055: 猴子吃桃
  19. Java版本JFrame,计算器和单位换算的实现
  20. 东软python培训

热门文章

  1. Android AIDL示例-回调方法版
  2. 第八周项目一-数组作数据成员(1)
  3. 第三周项目四-穷举法解决组合问题
  4. 【UIKit】UILabel使用
  5. (0108)iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器
  6. swift_046(Swift map,filter, reduce方法)
  7. 微信小程序ios可以上下左右拖动的问题
  8. 程序与进程的区别,并发与并行的区别,多进程的实现原理
  9. Java面试题,深入理解final关键字
  10. Docker:容器的四种网络类型 [十三]