JS随机排序数组实现方法分析


Posted in Javascript onOctober 11, 2017

本文实例讲述了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++){
    while(true) {
      if(tmpObj[j = parseInt(arrLength * Math.random())] == undefined) {
        tmpObj[j] = 1;
        console.log(j);
        break;
      }
    }
    newArr[i] = originalArr[j];
  }
  return newArr;
}

但是..后来在网上看到大师写的方法,觉得自己瞬间被秒杀到渣都不剩,如下:

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

自己实在有太多太多需要学习了!!

Javascript 相关文章推荐
使用jQuery解决IE与FireFox下createElement方法的差异
Nov 14 Javascript
JavaScript操作HTML元素和样式的方法详解
Oct 21 Javascript
JavaScript电子时钟倒计时
Jan 09 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
一个例子轻松学会Vue.js
Jan 02 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
详解JS数值Number类型
Feb 07 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
C#程序员入门学习微信小程序的笔记
Mar 05 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 #Javascript
jQuery中过滤器的基本用法示例
Oct 11 #jQuery
基于VUE.JS的移动端框架Mint UI的使用
Oct 11 #Javascript
jQuery中extend函数简单用法示例
Oct 11 #jQuery
vue中配置mint-ui报css错误问题的解决方法
Oct 11 #Javascript
node.js操作MongoDB的实例详解
Oct 11 #Javascript
简单谈谈vue的过渡动画(推荐)
Oct 11 #Javascript
You might like
终于听上了直流胆调频
2021/03/02 无线电
php 启动时报错的简单解决方法
2014/01/27 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
linux 下实现python多版本安装实践
2014/11/18 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
python实现数据分析与建模
2019/07/11 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
学历公证书范本
2014/04/09 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
事业单位聘任报告
2015/03/02 职场文书
会计主管竞聘书
2015/09/15 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
Java输出Hello World完美过程解析
2021/06/13 Java/Android
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL