• js 数组的随机排序方法


    今天弄了一个小功能,有一个数组,当每次刷新时,数组会随机重新排序生成新的数组。

    var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    function shuffle(arr) {
          var cloneArr = arr.concat();
          var len = cloneArr.length;
          for(var i = 0; i < len; i++) {
            var index = Math.floor(Math.random() * cloneArr.length);
            var temp = cloneArr[index];
            cloneArr[index] = cloneArr [i];
            cloneArr[i] = temp;
          }
          return cloneArr
    }
    
    console.log(shuffle(arr))

    还有更简单易理解的写法:

     function shuffle(arr) {
          var i, j,  temp;
          for (i = arr.length - 1; i > 0; i--) {
            j = Math.floor(Math.random() * (i + 1));
            temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
          }
          return arr;
    }
    console.log(shuffle(arr))

    还可以精简写为:

    function shuffle(v1,v2) {
       return Math.random()-0.5
    }
    
    console.log(arr.sort(shuffle))

  • 相关阅读:
    图的深度遍历
    判断森林中有多少棵树
    基于邻接矩阵的广度优先搜索
    第三届程序设计知识竞赛网络赛
    大数相乘
    a+b=x,ab=y
    poj3278
    不敢死队
    单链表中重复元素删除
    poj2506
  • 原文地址:https://www.cnblogs.com/joe235/p/15540664.html
Copyright © 2020-2023  润新知