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 相关文章推荐
默认让页面的第一个控件选中的javascript代码
Dec 26 Javascript
JQuery autocomplete 使用手册
Apr 01 Javascript
JavaScript类和继承 prototype属性
Sep 03 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
JavaScript小技巧整理
Dec 30 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 Javascript
解决Vue打包之后文件路径出错的问题
Mar 06 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
Jul 12 Javascript
layui table 表格模板按钮的实例代码
Sep 21 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
Jul 17 Javascript
JS实现小米轮播图
Sep 21 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
基于CakePHP实现的简单博客系统实例
2015/06/28 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
jquery 快速回到页首的方法
2013/12/05 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
nodejs基础知识
2017/02/03 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
Python复制Word内容并使用格式设字体与大小实例代码
2018/01/22 Python
python实现微信防撤回神器
2019/04/29 Python
Python如何测试stdout输出
2020/08/10 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
python re模块常见用法例举
2021/03/01 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
Hotels.com印度:酒店预订
2019/05/11 全球购物
军训自我鉴定怎么写
2014/02/13 职场文书
霸王洗发水广告词
2014/03/14 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
骨干教师考核评语
2014/12/31 职场文书
学校实习推荐信
2015/03/27 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
详解Redis复制原理
2021/06/04 Redis
Golang bufio详细讲解
2022/04/21 Golang