js实现数组随机排序

来源:http://www.chinese-glasses.com 作者:Web前端 人气:96 发布时间:2020-04-07
摘要:时间: 2019-10-14阅读: 371标签: 随机 方法一: 遍历当前数组,并创建一个暂存容器,每次遍历时,出现一个随机索引,使用随机索引,获取数组中一个随机的值,取出到暂存容器,然后根

时间: 2019-10-14阅读: 371标签: 随机

方法一:

遍历当前数组,并创建一个暂存容器,每次遍历时,出现一个随机索引,使用随机索引,获取数组中一个随机的值,取出到暂存容器,然后根据当前循环次数的索引,获取数组中的值,放入原来取出的地方,最后把暂存容器的值,赋值给当前循环次数的索引的值,实现随机排序;(即三个容器间的交互)

var arr = [1,2,3,4,5,6,7,8,9,10];function randSort1(arr){ for(var i = 0,len = arr.length;i  len; i++ ){ var rand = parseInt(Math.random()*len); var temp = arr[rand]; arr[rand] = arr[i]; arr[i] = temp; } return arr;}console.log(randSort1(arr));

10bet,方法二:

遍历数组,生成随机索引,通过随机索引,把原数组中的值取出,放入新数组,然后通过数组方法,Array.splice()删除原数组中的值,实现随机排序

var arr = [1,2,3,4,5,6,7,8,9,10];function randSort2(arr){ var mixedArray = []; while(arr.length  0){ var randomIndex = parseInt(Math.random()*arr.length); mixedArray.push(arr[randomIndex]); arr.splice(randomIndex, 1); } return mixedArray;}console.log(randSort2(arr));

方法三:

通过数组中的sort方法实现,return一个Math.random()-0.5

var arr = [1,2,3,4,5,6,7,8,9,10];arr.sort(function(){ return Math.random() - 0.5;})console.log(arr);

本文由10bet发布于Web前端,转载请注明出处:js实现数组随机排序

关键词:

上一篇:没有了

下一篇:理解二进制操作

最火资讯