数组元素的随机排序

function randomOrder (targetArray) {    

  var arrayLength = targetArray.length;     //目标数组的长度        

  var tempArray1 = new Array();  //先创建一个正常顺序的数组

      for (var i = 0; i < arrayLength; i ++)     {    //将目标数组的元素赋于数组tempArray1    

    tempArray1 [i] = i;

   }    

  //再根据上一个数组创建一个随机乱序的数组    

  var tempArray2 = new Array();

      for (var i = 0; i < arrayLength; i ++)     {        

     tempArray2 [i] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1);  //从正常顺序数组中随机抽出元素   

  }    

   //最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据    

  var tempArray3 = new Array();

      for (var i = 0; i < arrayLength; i ++)     {        

    tempArray3 [i] = targetArray [tempArray2 [i]];   

  }      

  return tempArray3; //返回最后得出的数组    

}

原文地址:https://www.cnblogs.com/kelly007/p/4601545.html