Javascript 返回未定义的随机名称

Javascript 返回未定义的随机名称,javascript,undefined,Javascript,Undefined,我在这个随机名称生成器中有一个工作函数,但它总是在某个点返回“undefined”。我试着从数组中减去1以防止它走得太远,但这并没有改变任何事情。我如何测试和调试它 当您应该使用Math.floor()时,您正在使用Math.round() 通过舍入,您有时会得到随机索引是数组的长度,因此这将是一个未定义的元素。更改此行: var random=arry[Math.round(Math.random()*arry.length)] 到 这: var random=arry[Math.round(

我在这个随机名称生成器中有一个工作函数,但它总是在某个点返回“undefined”。我试着从数组中减去1以防止它走得太远,但这并没有改变任何事情。我如何测试和调试它


当您应该使用
Math.floor()
时,您正在使用
Math.round()

通过舍入,您有时会得到随机索引是数组的长度,因此这将是一个未定义的元素。

更改此行:

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

到 这:

var random=arry[Math.round(Math.random()*(arry.length-1))


在某些情况下,四舍五入将得到未定义的结果。Ready尝试了@petar,看起来我应该使用Math.floor。我错了,我这么做了。var random=arry[Math.round(Math.random()*arry.length)-1];我只是在想为什么你仍然得到“未定义”:)是的,从现在起我必须更仔细地看:)太好了,谢谢。看来我需要多读一些数学方法。