JS实现的随机排序功能算法示例


Posted in Javascript onJune 09, 2017

本文实例讲述了JS实现的随机排序功能算法。分享给大家供大家参考,具体如下:

使用JS编写一个方法 让数组中的元素每次刷新随机排列

方法一:

var arr =[1,2,3,4];
var t;
for(var i = 0;i < arr.length; i++){
 var rand = parseInt(Math.random()*arr.length);
   t = arr[rand];
   arr[rand] =arr[i];
   arr[i] = t;
}
console.log(arr);

方法二:

var arr =[1,2,3,4];
var brr = [];
var num = arr.length;
for (var i = 0; i < num; i++){
 var temp = parseInt(Math.random()*(num-i));
 brr.push(arr[temp]);
 arr.splice(temp,1);
}
console.log(brr);

方法三:---best way.

function randomsort(a, b) {
  return Math.random()>.5 ? -1 : 1; //通过随机产生0到1的数,然后判断是否大于0.5从而影响排序,产生随机性的效果。
}
var arr = [1, 2, 3, 4, 5];
arr.sort(randomsort);
Javascript 相关文章推荐
基于jquery跨浏览器显示的file上传控件
Oct 24 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
window.onresize 多次触发的解决方法
Nov 08 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
Jul 15 Javascript
原生javascript实现匀速运动动画效果
Feb 26 Javascript
canvas绘制多边形
Feb 24 Javascript
JavaScript中双向数据绑定详解
May 03 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
JavaScript实现简单进度条效果
Mar 25 Javascript
JS highcharts实现动态曲线代码示例
Oct 16 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
Jun 09 #jQuery
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 #jQuery
基于代数方程库Algebra.js解二元一次方程功能示例
Jun 09 #Javascript
JavaScript 中调用 Kotlin 方法实例详解
Jun 09 #Javascript
angularjs $http实现form表单提交示例
Jun 09 #Javascript
JavaScript设计模式之单例模式详解
Jun 09 #Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 #Javascript
You might like
php输出xml格式字符串(用的这个)
2012/07/12 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
美国领先的家庭智能音响系统品牌:Sonos
2018/07/20 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
机关搬迁方案
2014/05/18 职场文书
机械工程师岗位职责
2014/06/16 职场文书
工程合作意向书范本
2015/05/09 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技