实现方法一:

function randomSort(arr) {// 对数组进行随机打乱,// return大于0则交换位置,小于等于0就不交换// 由于Math.random()产生的数字为0-1之间的数// 所以0.5-Math.random()的是否大于0是随机结果// 进而实现数组的随机打乱var array = arr.slice();array.sort(function () {return 0.5 - Math.random();})// 在控制台输出结果console.log(array);
}
// 调用排序方法
randomSort([1,2,3,4,5,6,7]);

其中两次运行的输出结果:

实现方法二:

function getRandomInt(min, max) {// 产生一个大于等于min小于等于max的随机数return Math.floor(Math.random() * (max - min + 1) + min)
}function shuffle(arr) {let newArr = arr.slice(), length = arr.lengthfor (let i = 0; i < length; i++) {let j = getRandomInt(0, length - 1)// 将 newArr[i]与newArr中随机的项交换let t = newArr[i]newArr[i] = newArr[j]newArr[j] = t}return newArr
}

分享两个JavaScript打乱数组顺序实现随机排序洗牌的方法(应用于音乐视频的随机播放等)相关推荐

  1. python数组随机打乱_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  2. python数据模块下载顺序_对Python random模块打乱数组顺序的实例讲解

    在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的数组.功能主要由python中random模块的sample ...

  3. php 打乱数组顺序_PHP实现大转盘抽奖算法

    php中文网最新课程 每日17点准时技术干货分享 本文通过具体的实例向大家介绍了PHP语言实现大转盘抽奖算法,希望对大家学习PHP抽奖有所帮助. 流程: 1.拼装奖项数组: 2.计算概率: 3.返回中 ...

  4. python 打乱数组顺序,Python打乱二维数组顺序:个人使用经历

    目录 我的需求背景: 发现问题: 解决方式: 我的需求背景: 两个分类标签的数据独立成组,使用np.vstack拼接到一起后,希望打乱行的顺序. #合并SD和USD标签的数据 finalData = ...

  5. php打乱数组顺序(含二维数组)

    php打乱数组顺序(含二维数组) 最近在做一个考试小程序的Api接口,其中一个是需要将试题列表打乱顺序,都知道,从数据库搜索出来的列表通常为数组的形式,所以我面临的问题就变成了 如何打乱数组顺序. 随 ...

  6. php 如何打乱数组顺序,【PHP打乱数组顺序的方法有哪些,这样的程序你真的会写吗】- 环球网校...

    [摘要]PHP作为一种超文本预处理器,已经成为了我们常用的网站编程语言,并且结合了C语言,Java等我们常见的编程语言,所以,有很多web开发领域的新人都看中了他的使用广泛性,有很多人都想了解php的 ...

  7. php冒泡 插入选择 排序,说说PHP数组的三种排序(冒泡/选择/插入)方法

    说说PHP数组的三种排序(冒泡/选择/插入)方法 PHP #数组 #排序 #冒泡 #选择 #插入2012-05-30 10:17 一.冒泡排序法 说明:找到最大的数,排列到最后面,然后继续找 例: $ ...

  8. js打乱数组内元素顺序(Fisher–Yates shuffle洗牌算法)

    如何将数组内元素顺序打乱呢?这里小shy向大家介绍一种算法. Fisher–Yates shuffle:洗牌算法. 通俗理解: 先将数组最后一位元素作为参考点,将这个参考点和数组其他位置的元素(使用随 ...

  9. es6 取数组的第一个和最后一个_ES6:解构——JavaScript 从数组和对象中提取数据的优雅方法...

    转载请注明出处,保留原文链接以及作者信息 ES6 有很多新特性,它很大程度上提升了 JavaScript 的编程体验,并且也告诉外界,JavaScript 依旧强势. 其中一个新特性是其对数组和对象的 ...

最新文章

  1. 企业网络推广——企业网络推广专员讲述网站友链交换如何做
  2. boost::fusion::traits::is_view用法的测试程序
  3. CodeForces - 1207F Remainder Problem(分块)
  4. Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结
  5. 不改变原数组的一些方法
  6. Hadoop伪分布式集群的安装部署
  7. mysql回滚部分记录_MySQL事务部分回滚-回滚到指定保存点
  8. 矩形液体包装纸箱行业调研报告 - 市场现状分析与发展前景预测
  9. 汇编指令入门级整理 | 原力计划
  10. php表单转json对象,form表单转Json提交的方法(推荐)
  11. 独家 | 一文读懂Adaboost
  12. 服务器安装nvidia驱动_无法安装最新版NVIDIA显卡驱动,从技术角度该怎么办?
  13. Linux下打包qt程序,可以发布到一台纯净的linux发行版系统上
  14. 城市智慧能源系统顶层设计研究
  15. html页面上显示拼音
  16. 如何更有效地使用kindle?
  17. 技术人最基本投资建议
  18. 微信小程序调用扫一扫
  19. getcount php,物联网方案之“Android+Apache服务器(PHP+Mysql)+Arduino(+以太网盾板)”(四.点播客户端)...
  20. Hibernate学习文章

热门文章

  1. WPF ChromiumWebBrowser 网页背景透明
  2. 阿里云中间件团队首次解密企业级分布式应用服务EDAS
  3. Linux常用命令总结之(五)alias
  4. hadoop文件系统与I/O流
  5. 深入解析ext2文件系统之mke2fs
  6. The following module was built either with optimizations enabled or without debug information - winz
  7. Objective C中@protected等关键字概述
  8. 编译php7.0.17报错提示 undefined reference to `libiconv_open'
  9. Interface Collector
  10. decode函数的使用