玖叶教程网

前端编程开发入门

基础面试17:如何实现数组的随机排序?抽奖场景就是Math.random

// 方法一:
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));
// 方法二:
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));
// 方法三:
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
arr.sort(function() {
 return Math.random() - 0.5;
})
console.log(arr);

不管怎么改,都是Math.random()随机函数的应用,除非自己写一个。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言