alert("0123456789".split("").sort(function(){return .5-Math.random()}).join(""));
这可能是在JavaScript中生成10位数字的最短方法之一,其中包含随机顺序中0到9的10位数字。示例:7205169483。
split("")//OK, it splits by chars because of empty separator
.sort(function(){return .5-Math.random()})
.join("")//joins with empty string as a separator
为什么{return Math.random()}
无效?
.sort()
执行了多少次 - 十次或一次?
答案 0 :(得分:0)
正如@elclanrs在评论中所说,sort
需要一个回调函数,它将采用两个元素a
和b
并进行比较。如果a < b
,0
a == b
,则此函数必须返回负数,否则返回正数。
函数sort将被调用多次,这取决于排序算法的实现。您可以找到更多信息in this question。
在您的示例中,0.5 - Math.Random()
将返回负数或正数,因为Math.Random()返回0到1之间的值。