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中(function(){})()执行顺序的理解
Mar 05 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
Jun 10 Javascript
分享Javascript实用方法二
Dec 13 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
Mar 09 Javascript
详解vue移动端日期选择组件
Feb 22 Javascript
Vue2 轮播图slide组件实例代码
May 31 Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
vue data变量相互赋值后被实时同步的解决步骤
Aug 05 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
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
php利用新浪接口查询ip获取地理位置示例
2014/01/20 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php中stdClass的用法分析
2015/02/27 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
Extjs学习笔记之二 初识Extjs之Form
2010/01/07 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
sails框架的学习指南
2014/12/22 Javascript
简单对比分析JavaScript中的apply,call与this的使用
2015/12/04 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
JS函数基本定义与用法示例
2020/01/15 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
python爬取网易云音乐评论
2018/11/16 Python
python 画三维图像 曲面图和散点图的示例
2018/12/29 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
基于Python实现天天酷跑功能
2021/01/06 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
一个精品风格的世界:Atterley
2019/05/01 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
读书活动总结
2014/04/28 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
React中的Context应用场景分析
2021/06/11 Javascript