繁体   English   中英

从数组中选择随机索引总是会返回相同的索引吗?

[英]Picking a random index from an array is always returning me the same index?

var letters = ["a", "b", "c", "d", "e", "f", "g", "h"]



var letter  = letter[Math.round(Math.random()*(quotes.length))]

每次它只返回最后一个字母g,而不是数组中的随机字母。

我究竟做错了什么?

(quotes.length)

什么是quotes 你要letters

您正在执行var letter = letter ,但是letter尚未定义。 另外,从数组中选择随机元素时,请使用Math.floor而不是Math.round

 const letters = ["a", "b", "c", "d", "e", "f", "g", "h"]; const letter = letters[Math.floor(Math.random()*letters.length)]; console.log(letter); 

可能需要修复代码中的一些拼写错误:

var letters = ["a", "b", "c", "d", "e", "f", "g", "h"]
var letter  = letters[Math.round(Math.random()*(letters.length))]

另外,您可能不想使用Math.round因为它可能会导致超出范围的数组访问错误。 您应该改用Math.floor

修正错别字,您应该会没事的

var letter = letters[Math.round(Math.random()*(letters.length))]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM