JavaScript实现数组随机排序的方法
本文实例讲述了JavaScript实现数组随机排序的方法。分享给大家供大家参考。具体实现方法如下:
function Shuffle(o) { for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; };
使用方法:
var testArray = [1,2,3,4,5]; Shuffle(testArray); // jQuery to dump out new values to element with ID of 'dump' $(function() { for (var i=0;i<testArray.length;i++) { $("#dump").append(testArray[i]); } });
输出结果:
35214
希望本文所述对大家的javascript程序设计有所帮助。
相关推荐
-
JavaScript数组随机排列实现随机洗牌功能
本文实例讲述了JavaScript数组随机排列实现随机洗牌功能的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以对数组内的元素进行随机排列,这个非常有用,比如我们在玩扑克牌的时候可以让扑克牌进行排列,也就是电脑洗牌. var list = [1,2,3,4,5,6,7,8,9]; list = list.sort(function() Math.random() - 0.5); Print(list); // prints something like: 4,3,1,2,9,5,6,
-
JS随机排序数组实现方法分析
本文实例讲述了JS随机排序数组.分享给大家供大家参考,具体如下: 做随机显示推荐广告的时候,需要随机排序数据数组,就动手写了一个,如下: function randomOrder (targetArr) { var originalArr = targetArr; var newArr = []; var arrLength = targetArr.length; var j = -1; var tmpObj = {}; for(var i = 0;i < arrLength;i++){ whi
-
JS 在指定数组中随机取出N个不重复的数据
复制代码 代码如下: <script language="javascript">//从一个给定的数组arr中,随机返回num个不重复项function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]
-
JS随机洗牌算法之数组随机排序
推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列.举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9: 从上面这个数组入手,我们要做的就是打乱数组内元素的顺序: 代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的算法也是基于其中的理论编写的: A
-
js实现从数组里随机获取元素
基础知识: 复制数组: (1)循环遍历复制(不推荐) 复制代码 代码如下: var arry = [1,5,9,7], new_arry = [], n = 0, len = arry.length; for(;n<len;n++){ new_arry.push(arry[n]); } (2)concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本 复制代码 代码如下: var arry = [1,5,9,7],
-
javascript数组随机排序实例分析
本文实例讲述了javascript数组随机排序实现方法.分享给大家供大家参考.具体如下: 我们就测试0-9的随机排序,先生成数据 var arr=[9,3,1,2,5,8,4,7,6,0]; arr.sort(); document.write("正常排序后的数组元素:"+arr.join(",")+"<BR />"); 正常排序后的数组元素:0,1,2,3,4,5,6,7,8,9 定义一个随机函数,随机返回正数或者负数,sort函数
-
JS随机打乱数组的方法小结
本文实例总结了JS随机打乱数组的方法.分享给大家供大家参考,具体如下: JS中,要打乱数组有很多方法,网上流传一个国外人写的方法,我认为是最精简的了: function randomsort(a, b) { return Math.random()>.5 ? -1 : 1; //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1 } var arr = [1, 2, 3, 4, 5]; arr.sort(randomsort); 这里介绍下sort()函数,在JS中
-
JS从数组中随机取出几个数组元素的方法
JS如何从一个数组中随机取出一个元素或者几个元素. 假如数组为 var items = ['1','2','4','5','6','7','8','9','10']; 1.从数组items中随机取出一个元素 var item = items[Math.floor(Math.random()*items.length)]; 2.从前面的一篇随机数组中随机取几个元素 function getRandomArrayElements(arr, count) { var shuffled = arr.sl
-
js获取数组任意个不重复的随机数组元素 原创
复制代码 代码如下: <script language="javascript"> //从一个给定的数组arr中,随机返回num个不重复项 function getArrayItems(arr, num) { //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; var temp_array = new Array(); for (var index in arr) { temp_array.push(arr[index]); } //取出的数值项,
-
JavaScript随机打乱数组顺序之随机洗牌算法
假如有一个数组是这样子: var arr1 = ["a", "b", "c", "d"]; 如何随机打乱数组顺序,也即洗牌. 有一个比较广为传播的简单随机算法: function RandomSort (a,b){ return (0.5 - Math.random()); } 实际证明上面这个并不完全随机. 随便一搜网上太多这种东西了,看一下stackoverflow上的一个高分回答,答案出自github上. knuth-s
-
JavaScript学习笔记之数组随机排序
推荐阅读:JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组的增.删.改.查 JavaScript中提供了sort()和reverse()方法对数组项重新排序.但很多时候这两个方法无法满足我们实际业务的需求,比如说扑克牌游戏中的随机洗牌. 在这篇文章一起来学习如何完成上面这个示例的效果,以及一些有关于数组随机排序的相关知识. 在网上查了一下有关于数组随机排序的相关资料,都看到了Math.random()的身影.打开浏览器控制器,输入: Math.random() 从图
随机推荐
- C#实现的XML操作类实例
- 通过隐藏iframe实现文件下载的js方法介绍
- IIS配置文件的XML格式不正确 applicationHost.config被破坏 恢复解决办法
- 怎样去阅读一份php源代码
- php使用GD创建保持宽高比缩略图的方法
- 常用的PHP数据库操作方法(MYSQL版)
- 浅谈php7的重大新特性
- php实例分享之通过递归实现删除目录下的所有文件详解
- javascript 函数介绍
- Python的re模块正则表达式操作
- MySql数据库中Select用法小结
- jquery实现平滑的二级下拉菜单效果
- js中对象的声明方式以及数组的一些用法示例
- Android实现通知栏透明的方法
- linux下删除带-号的文件
- xml 中的冒号 读取问题的解决
- c#实现识别图片上的验证码数字
- 实例详解Android自定义ProgressDialog进度条对话框的实现
- 简单实现C语言2048游戏
- vue中使用vue-cli接入融云实现即时通信