[1,2,3,4,5,6,7,…,100,…]
井然有序的数组,如何打破它的顺序?也类似于洗牌游戏。
首先我们先创建一个井然有序的数组
例如1到100的数组
var arr = [];
for(var i=1; i<=100; i++) {
arr.pus(i);
}
实现打乱顺序的核心代码如下
arr.sort(function() {
return 0.5-Math.random;
})
最后我们可以输出arr看一下
例如我测试的结果
这里的sort是数组的排序方法,工作流程是这样的,每次从目标数组中取出两个值,第一个值肯定出现在第二个值之前,两值相减,如果小于0(也就是返回false),则交换两值位置,否则不交换位置;这里就是利用了sort的工作原理,0.5与随机数相减 要么大于零要么小于零要么相等,情况随机出现,所以数组就会被随机排序