我想生成一个长度为
所以我很困惑,
n
的数组,数组的元素是介于2到32之间的随机整数。我使用了下面这个函数,但我发现17总是返回数组的第一个元素。当我将排序函数改为sort(() => Math.random() - 0.5)
时,它就可以正常工作了。所以我很困惑,
Math.random() >= 0.5
和Math.random() - 0.5
有什么区别?这种差异如何影响sort()
函数?
const fn = (n) => {
let arr = [];
for (let i = 2; i < 33; i++) {
arr.push(i);
}
return arr.sort(() => Math.random() >= 0.5).slice(0, n)
}