数组随机排列
今天項目中用到數據隨機排列,感覺應該很簡單,結果一下子沒想起來好的方法,上網搜索一下,感覺寫的都好復雜,不過根據其中的一些思路寫了下面這段。
整體思路是:隨機一個0-數組長度之間的整數作為下標,從數組中取出該下標下的數據存在一個新的數組中,并從該數組中移除,while循環數組長度即可。代碼如下:
1 function sort(list) { 2 var result = []; 3 var arr2 = list.concat(); 4 while (arr2.length) { 5 var len = arr2.length; 6 var index = Math.floor(Math.random() * len); 7 result.push(arr2.splice(index, 1)[0]); 8 console.log(len); 9 } 10 return result; 11 } 12 13 //下面是舉例應用,數組arr中依次有1-10這10個數字 14 var arr = []; 15 for (let i = 0; i < 10; i++) { 16 arr.push(i + 1); 17 } 18 console.log(sort(arr).toString());//輸出這個數組中隨機排列的數字?
轉載于:https://www.cnblogs.com/PigpigRun/p/10526088.html
總結
- 上一篇: 爱奇艺大数据分析平台的演进之路
- 下一篇: 第二次课程作业