【发布时间】:2017-09-14 03:39:03
【问题描述】:
我一直在处理具有特定功能的遗留代码,该功能应该为数组返回一个随机项,我看到以下表达式:
array[Math.random() * arr.length | 0]
我的第一印象是试图理解the | operator,但我不知道它是如何工作的。
我在 chrome 控制台中测试了表达式,我发现它总是返回一个有效的索引:
let array = [1,2,3,4]
for(let i = 0; i < 5000; i++){
console.log(array[Math.random() * arr.length | 0]);
}
“Math.random() * arr.length | 0”如何为数组返回随机索引?
【问题讨论】:
标签: javascript arrays random