为什么使用Math.random()-.5可以使数组随机排序呢


 function method3(arr){
        arr.sort(function(){
             return Math.random()-0.5;
          });
        console.log(arr);
     }
//这个方法为什么可以实现数组的随机排序呢?

Math.random 是随机 数api 。 sort return 不同的数字 就随机排序了呗

不是Math.random()-0.5实现的数组随机排序,是arr.sort()实现的排序,Math.random()-0.5这个只是产生随机数。
感谢采纳,如有疑问,可以继续交流!

1.因为sort方法是对数组元素进行排序,sort方法内部return的东西是排序规则。
2.math.random是生成0-1的随机数,再减0.5,那么return的是正数和负数的概率是一样的

如有帮助,麻烦点个[采纳此答案]谢谢^O^

method3这个方法的功能应该是随机打乱数组吧,接着楼上的说,Math.random()-0.5随机生成 [-0.5,0.5)区间的数,sort()可根据方法返回值的正负来排序,小于零升序,大于零降序。