js實現數組隨機排序


方法一:

遍歷當前數組,並創建一個暫存容器,每次遍歷時,出現一個隨機索引,使用隨機索引,獲取數組中一個隨機的值,取出到暫存容器,然后根據當前循環次數的索引,獲取數組中的值,放入原來取出的地方,最后把暫存容器的值,賦值給當前循環次數的索引的值,實現隨機排序;(即三個容器間的交互)

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

 

方法二:

遍歷數組,生成隨機索引,通過隨機索引,把原數組中的值取出,放入新數組,然后通過數組方法,Array.splice()刪除原數組中的值,實現隨機排序

var arr = [1,2,3,4,5,6,7,8,9,10]; function randSort2(arr){ var mixedArray = []; while(arr.length > 0){ var randomIndex = parseInt(Math.random()*arr.length); mixedArray.push(arr[randomIndex]); arr.splice(randomIndex, 1); } return mixedArray; } console.log(randSort2(arr));

廣州品牌設計公司https://www.houdianzi.com PPT模板下載大全https://redbox.wode007.com

方法三:

通過數組中的sort方法實現,return一個Math.random()-0.5

var arr = [1,2,3,4,5,6,7,8,9,10]; arr.sort(function(){ return Math.random() - 0.5; }) console.log(arr);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM