//不断从原数组中随机取一个元素放进新数组,同时删除原数组中该值,递归重复至全部取出。function randomSort(arr, newArr) {var newArr = newArr || []if (arr.length == 1) {newArr.push(arr[0])return newArr; // 相当于递归退出}var random = Math.ceil(Math.random() * arr.length) - 1newArr.push(arr[random])arr.splice(random, 1)return randomSort(arr, newArr)
}
randomSort([1, 2, 3, 4, 5, 6, 7]); //[2, 3, 1, 5, 6, 7, 4]
randomSort([1, 2, 3, 4, 5, 6, 7]); //[3, 4, 2, 5, 1, 6, 7]

JavaScript数组随机排序相关推荐

  1. 关于JavaScript的数组随机排序

    昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: function shuffle(arr) { arr.sort(functi ...

  2. php 数组随机排序_php怎么实现数组随机排序

    php数组随机排序,我们可以使用PHP shuffle()函数来实现. PHP shuffle()函数表示随机调整数组中元素或值的顺序.该shuffle()函数FALSE失败时返回. 下面我们就结合具 ...

  3. php 数组随机排序_php 数组元素随机排序代码

    php教程 数组元素随机排序代码 因为工作需要我要对我定义好的数组进行随机排序,每一次循环都要是不同的,下面我们利用了php shuffle函数随机对数组元素进行排序.方法非常简单. shuffle( ...

  4. php 二维数组 随机排序_php二维数组排序—默认自然排序

    什么是二维数组?二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩阵称变方阵.对称矩阵a ...

  5. javascript数组的排序(sort,冒泡)

    转自 https://www.cnblogs.com/kangby/p/6559978.html 一.js的sort()方法 var arr = [10, 20, 1, 2]; arr.sort(fu ...

  6. java数组随机排序_JAVA 生成随机数数组,并排序输出

    package com.koal.test; import java.util.Arrays; /** * * @author hp * 排序 */ public class Sort { //要生成 ...

  7. php 二维数组 随机排序_php二维数组排序方法(array_multisort usort)

    例如像下面的数组: $users = array( array('name' => 'tom', 'age' => 20), array('name' => 'anny', 'age ...

  8. 【JS】数组随机排序

    第一种方法:利用冒泡排序的原理,使两两元素比较的结果可正可负,它们的位置可换可不换,从而达到随机的目的. var arr = ["鹿晗", "王俊凯", &qu ...

  9. 数组随机排序(随手记)

    注1:集合是无序的且不保证随机的 注2:arc4random_uniform(x),可以用来产生0-(x-1)范围内的随机数,不需要再进行取模运算 方法一: - (NSMutableArray *)r ...

最新文章

  1. 线上服务 CPU 又 100% 啦?一键定位 so easy!
  2. CDays–4 习题六(修改文本)及相关内容解析。
  3. G - 数据结构实验之链表五:单链表的拆分
  4. Window 2008 server DNS 无法解析ISA WPAD
  5. 论docker中 CMD 与 ENTRYPOINT 的区别
  6. 保护私有信息的叉积协议及其应用 in c
  7. 登录注册页面html模版
  8. 使用磁性霍尔传感器实现门锁报警
  9. 详解sigmoid与softmax, 多分类及多标签分类
  10. arcgis新建图层信息复制_ArcGIS中的数据库之间复制和粘贴数据
  11. 未能将文件 *** \bin\Release\**.dll 复制到 \obj\Release\Package\PackageTmp\bin\***.dll VS发布程序报错 解决办法
  12. 计算机编程小学生有必要学吗,小学生有必要学少儿编程吗
  13. 逻辑思维、时间管理、学习记忆书单整理
  14. [oeasy]python0125_汉字打印机_点阵式打字机_汉字字形码
  15. 网络协议MPL(3):RFC2606--The Trickle Algorithm文档翻译
  16. 【论文笔记_知识蒸馏_2022】Knowledge Distillation with the Reused Teacher Classifier
  17. Linux服务器硬盘故障后恢复数据的方法和数据恢复过程
  18. 文本特征提取——one-hot
  19. 今天,辛辛苦苦开发的雷超站终于上线了
  20. matlab做飞机气动加热,MATLAB在航空航天器飞行仿真中的应用.pdf

热门文章

  1. <java并发编程实践>读书笔记三
  2. 常考数据结构与算法:二叉树的最大深度
  3. 前端一HTML:二十四伪类
  4. 点量OTT TV 点播软件模式为何受海外华人运营者喜爱?
  5. 第二次作业——个人项目实战
  6. Mongodb基础实践(二)
  7. Ubuntu14.04安装redis和简单配置
  8. SQL:查询学习笔记
  9. 分享几点Android 开发中的小技巧吧。不知道算不算?
  10. github php项目,12月份GitHub上最热门的PHP项目