zoukankan      html  css  js  c++  java
  • javascript 数组随机排序 洗牌算法

    1、

    function shuffle(a) {
      var b = [];
    
      while (a.length) {
        var index = ~~(Math.random() * a.length);
        b.push(a[index]);
        a.splice(index, 1);
      }
    
      return b;
    }

    2、

    function shuffle(a) {
      var length = a.length;
      var shuffled = Array(length);
    
      for (var index = 0, rand; index < length; index++) {
        var random = Math.random() * (index + 1);
        rand = ~~(random);
        rand_ = Math.floor(random);
        console.log(random);
        console.log(rand);
        console.log(rand_);
    //     if (rand !== index) 
          shuffled[index] = shuffled[rand];
        shuffled[rand] = a[index];
      }
    
      return shuffled;
    }

    3、

    function shuffle(array) {
      var _array = array.concat();
    
      for (var i = _array.length; i--; ) {
        var random = Math.random();
        var j = Math.floor(random * (i + 1));
        
        console.log("i:"+i);
        console.log("j:"+j);
        console.log("random:"+random);
        console.log("==================================");
        
        var temp = _array[i];
        _array[i] = _array[j];
        _array[j] = temp;
      }
    
      return _array;
    }
  • 相关阅读:
    axios基础用法
    CSS盒子模型
    前端跨域问题解决方案
    跨域-iframe
    swagger UI配置
    React安装和启动
    React 学习笔记
    redis学习笔记
    10个排序算法,待更新
    docker常用命令,持续更新。。。
  • 原文地址:https://www.cnblogs.com/jh1994/p/5666026.html
Copyright © 2011-2022 走看看