如何解决为什么此代码生成唯一的随机数使用`=== -1`?
我发现此代码生成唯一的随机数。我不明白这部分代码的作用-更重要的是,为什么我们需要=== -1
?据我所知,它不能等于-1。
var arr = [];
while(arr.length < 8){
var r = Math.floor(Math.random() * 100) + 1;
if(arr.indexOf(r) === -1) arr.push(r);
}
console.log(arr);
解决方法
它的意思是“当在数组中找不到元素时,将元素推入数组”。
arr.indexOf(r) === -1
->当元素不在数组中时,这将是正确的。那是因为数组中没有元素的索引为-1。第一个元素的索引为0,然后为1,2,3,依此类推。
也许最好使用include():
if(!arr.includes(r))
这使条件更易读。
,它检查“ r”是否已在数组中。如果是这样,它将不会将“ r”推入/添加到数组arr中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。