Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组中随机选取索引总是返回相同的索引?_Javascript_Arrays_Indexing - Fatal编程技术网

Javascript 从数组中随机选取索引总是返回相同的索引?

Javascript 从数组中随机选取索引总是返回相同的索引?,javascript,arrays,indexing,Javascript,Arrays,Indexing,每次它只返回最后一个字母g,而不是数组中的随机字母 我做错了什么?可能需要修复代码中的一些拼写错误: var letters = ["a", "b", "c", "d", "e", "f", "g", "h"] var letter = letter[Math.round(Math.random()*(quotes.length))] 此外,您可能不想使用Math.round,因为它可能会导致越界数组访问错误。你应该试试Math.floor (quotes.length) 什么是引号?

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


我做错了什么?

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

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



var letter  = letter[Math.round(Math.random()*(quotes.length))]
此外,您可能不想使用
Math.round
,因为它可能会导致越界数组访问错误。你应该试试
Math.floor

(quotes.length)

什么是
引号
?您需要
字母

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

常量字母=[“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”]; 常量字母=字母[Math.floor(Math.random()*letters.length)];
控制台日志(信件)纠正错误,你应该会没事的


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

quotes.length
更改为
letters.length
引号中的引号是什么。length?你有什么惊讶吗<代码>变量字母=字母[Math.floor(Math.random()*(letters.length))]。。。所以<代码>字母[…]不是
字母[…]
。。snt如上所述,
letters.length
oops,我的意思是将引号改为lettersso,实际上,唯一的问题是,如果使用
Math.round
,偶尔会出现未定义的情况,这是唯一的“非打字错误”代码中的问题不要使用
Math.round
,正如所有其他答案中提到的,击败你的答案是:是的,我并不是想引用。我把它改成了字母。但每次都返回相同的索引,字母“h”?@Jesse你为什么否决我的答案?我把它粘贴到一个Chrome控制台上(用
地板
替换
圆形
),它会随机返回字母。还有其他东西在影响你的代码。@Jesse-如果你一直用上面的代码写
h
,那么你的代码肯定与你在问题中发布的代码有很大的不同。我不是想加引号,那是一个打字错误。我把它改成了字母,但它每次都给我相同的索引/字母?如果你想让它正常工作,你的代码应该和我的一样-如果它对你不起作用,那么你就没有使用和我相同的代码。
var letters = ["a", "b", "c", "d", "e", "f", "g", "h"]
var letter  = letters[Math.round(Math.random()*(letters.length))]