js 数组随机打乱

我来纠错
//生成一个数组
var arr=[];
for(var i=0;i<10;i++){
	arr.push(i+1);
}
//随机打乱这个数组
arr.sort(function(){ return 0.7 - Math.random() });
//输出
console.log(arr); 

//打乱原理
sort 是对数组进行排序
他的是这样工作的。每次从数组里面挑选两个数 进行运算。
如果传入的参数是0 两个数位置不变。
如果参数小于0 就交换位置
如果参数大于0就不交换位置
接下来用刚才的较大数字跟下一个进行比较。这样循环进行排序。
恰好。我们利用了这一点使用了0.7 - Math.random  这个运算的结果要么是大于0,要么是小于0.这样要么交换位置,要么不交换位置。当然大于或者小于0是随即出现的。所以数组就被随即排序了。(经过测试0.7打乱的效果比较好)
发送
热门关键词:
命令
知识类型:
标题描述:
详细解答:

提交审核您编辑的知识会经过 前端大牛 人工审核。