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函数将根据随机返回的正负来觉得2个值之间是正序还是反序
function randomSort(a, b){ return Math.random() - 0.5; } arr.sort(randomSort); document.write("随机排序后的数组元素:"+arr.join(",")+"<BR />");
随机排序后的数组元素:3,1,7,4,8,6,2,0,9,5
随机排序后的数组元素:8,3,1,9,5,0,7,6,4,2
希望本文所述对大家的javascript程序设计有所帮助。
相关推荐
-
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]); } //取出的数值项,
-
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],
-
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]
-
JavaScript学习笔记之数组随机排序
推荐阅读:JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组的增.删.改.查 JavaScript中提供了sort()和reverse()方法对数组项重新排序.但很多时候这两个方法无法满足我们实际业务的需求,比如说扑克牌游戏中的随机洗牌. 在这篇文章一起来学习如何完成上面这个示例的效果,以及一些有关于数组随机排序的相关知识. 在网上查了一下有关于数组随机排序的相关资料,都看到了Math.random()的身影.打开浏览器控制器,输入: Math.random() 从图
-
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
-
JavaScript随机打乱数组顺序之随机洗牌算法
假如有一个数组是这样子: var arr1 = ["a", "b", "c", "d"]; 如何随机打乱数组顺序,也即洗牌. 有一个比较广为传播的简单随机算法: function RandomSort (a,b){ return (0.5 - Math.random()); } 实际证明上面这个并不完全随机. 随便一搜网上太多这种东西了,看一下stackoverflow上的一个高分回答,答案出自github上. knuth-s
-
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随机洗牌算法之数组随机排序
推荐阅读:JavaScript学习笔记之数组的增.删.改.查 JavaScript学习笔记之数组求和方法 JavaScript学习笔记之数组随机排序 洗牌算法是一个比较形象的术语,本质上让一个数组内的元素随机排列.举例来说,我们有一个如下图所示的数组,数组长度为 9,数组内元素的值顺次分别是 1~9: 从上面这个数组入手,我们要做的就是打乱数组内元素的顺序: 代码实现 维基百科上的 Fisher–Yates shuffle 词条对洗牌算法做了详细介绍,下面演示的算法也是基于其中的理论编写的: A
-
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随机打乱数组的方法.分享给大家供大家参考,具体如下: 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中
随机推荐
- 实例讲解Ruby中的钩子方法及对方法调用添加钩子
- shell生成简单格式的xml实例
- Debian中PostgreSQL数据库安装配置实例
- JavaScript中的对象化编程
- iOS抽屉效果开发案例分享
- 深入dom4j使用selectSingleNode方法报错分析
- 浅析.NET逻辑分层架构
- 图片路径中含有中文在jsp下不能正常显示的原因及解决
- php array_values 返回数组的所有值详解及实例
- php后台多用户权限组思路与实现程序代码分享
- 当mysqlbinlog版本与mysql不一致时可能导致出哪些问题
- JS数组去重(4种方法)
- ie7+背景透明文字不透明超级简单的实现方法
- 访问和更改关系数据,使用MSSQL外联接
- Nginx 反向代理并缓存及缓存清除的方法
- 用nero刻录可启动功能的光盘而且光盘不是iso格式的
- 使用C#编写15子游戏
- java导出csv方法实现讲解
- php冒泡排序与快速排序实例详解
- 向当前style sheet中插入一个新的style实现方法