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

本文实例讲述了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);

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

PS:这里再为大家提供几款相关在线工具供大家参考使用:

在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu

在线中英文根据首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu

在线文本倒序翻转排序工具:
http://tools.jb51.net/aideddesign/flipped_txt

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。