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引用对象的方法
Jan 11 Javascript
JavaScript初学者应注意的七个细节小结
Jan 30 Javascript
网页实时显示服务器时间和javscript自运行时钟
Jun 09 Javascript
浅析Node.js查找字符串功能
Sep 03 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
Oct 20 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
Nov 30 Javascript
JavaScript中数组添加值和访问值常见问题
Feb 06 Javascript
JavaScript基础教程——入门必看篇
May 20 Javascript
JS模态窗口返回值兼容问题的完美解决方法
May 28 Javascript
JavaScript数据类型的存储方法详解
Aug 25 Javascript
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
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
php操作JSON格式数据的实现代码
2011/12/24 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
Fixie.js 自动填充内容的插件
2012/06/28 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
jQuery html()方法使用不了无法显示内容的问题
2014/08/06 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
2014/08/12 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
javascript实现判断鼠标的状态
2015/07/10 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
JavaScript中的闭包
2016/02/24 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
wxPython实现带颜色的进度条
2019/11/19 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
CSS3实现银灰色动画效果的导航菜单代码
2015/09/01 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
Dodax奥地利:音乐、电影、书籍、玩具、电子产品等
2019/08/31 全球购物
标准毕业生自荐信范文
2013/11/04 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
php字符串倒叙
2021/04/01 PHP
CSS3 天气图标动画效果
2021/04/06 HTML / CSS