随机名称返回未定义

时间:2014-02-20 21:12:23

标签: javascript undefined

我在这个随机名称生成器中有一个工作函数,但它总是在某个时候返回'undefined'。我试过从数组中减去1来防止它走得太远,但这并没有改变任何东西。我如何测试并调试它?

jsbin

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

更改此行:

  

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

要 这样:

  

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