[题目来源:Duing] JS 实现打乱数组
啥?你说啥?大哥,我没听错吧,竟然还有这么贱的要求。
[解析来源:叁贰壹] 我自己,hahaha~
利用数组的内置函数 arrayobj.sort([sortfunction])
就可以实现。
sortFunction
为可选项:是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII
字符顺序进行升序排列。sortFunction
方法有两个参数。分别代表每次排序比较时的两个数组项。sort()
排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。
因此只要对图中的代码做稍稍改动就可以实现
function sortNumber(a, b){
// 利用随机数 当随机数大于0.5 返回-1
return Math.random()>.5 ? -1 : 1;
}
var arr = [1,2,3,4,5];
arr.sort(sortNumber); //这样就可以实现打乱数组了
感谢观看 期待关注
关注我,带你一起写bug
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧