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