获得';未定义';搜索引号数组时-Javascript

获得';未定义';搜索引号数组时-Javascript,javascript,arrays,undefined,Javascript,Arrays,Undefined,我正在开发一个随机引号生成器,首先随机生成一个介于0和数组“quotes”长度之间的数字,然后返回该引号 function getQuote() { var quotes = ["I never met a toby that I didn't like ~ Kimya Dawson", "Blood in my beard ~ Aesop Rock", "How many roads must a man walk down? ~ Bob Dylan", "Orange is the new

我正在开发一个随机引号生成器,首先随机生成一个介于0和数组“quotes”长度之间的数字,然后返回该引号

function getQuote() {
 var quotes = ["I never met a toby that I didn't like ~ Kimya Dawson", "Blood in my beard ~ Aesop Rock", "How many roads must a man walk down? ~ Bob Dylan", "Orange is the new black ~ Jenji Kohan"];

function randomNumber(min, max) {
 var quote = Math.floor(Math.random() * (max - min +1)) + min
 return quotes[quote]; 
}; 
return randomNumber(0, quotes.length);
};
getQuote();

它在大多数情况下都能工作,但有时它会返回“Undefined”。当使用诸如“hello”、“green”等单字数组进行测试时,我没有遇到这个问题,它只在添加空格时发生

在代码中查找随机索引的
+1
是您的问题


有4个引号,因此
max
为4
4-0+1
是5,而不是4,因此每隔一段时间就会生成值
4
,而数组中该位置没有任何值。(引号在索引0、1、2和3处。)

在代码中查找随机索引的
+1
是您的问题


有4个引号,因此
max
为4
4-0+1
是5,而不是4,因此每隔一段时间就会生成值
4
,而数组中该位置没有任何值。(引号在索引0、1、2和3处。)

在代码中查找随机索引的
+1
是您的问题


有4个引号,因此
max
为4
4-0+1
是5,而不是4,因此每隔一段时间就会生成值
4
,而数组中该位置没有任何值。(引号在索引0、1、2和3处。)

在代码中查找随机索引的
+1
是您的问题

有4个引号,因此
max
为4
4-0+1
是5,而不是4,因此每隔一段时间就会生成值
4
,而数组中该位置没有任何值。(引号位于索引0、1、2和3处。)

可以返回指向不存在数组元素的
max
。数组索引从
0
length-1

应该是

Math.floor(Math.random() * (max - min)) + min
可以返回指向不存在数组元素的
max
。数组索引从
0
length-1

应该是

Math.floor(Math.random() * (max - min)) + min
可以返回指向不存在数组元素的
max
。数组索引从
0
length-1

应该是

Math.floor(Math.random() * (max - min)) + min
可以返回指向不存在数组元素的
max
。数组索引从
0
length-1

应该是

Math.floor(Math.random() * (max - min)) + min

数组从0开始,所以在您的例子中,max是3(引号[3])。 但是,length函数返回元素数(4)


数组从0开始,所以在您的例子中,max是3(引号[3])。 但是,length函数返回元素数(4)


数组从0开始,所以在您的例子中,max是3(引号[3])。 但是,length函数返回元素数(4)


数组从0开始,所以在您的例子中,max是3(引号[3])。 但是,length函数返回元素数(4)