获取具有JavaScript中变量给定索引的数组元素

时间:2018-12-13 22:23:04

标签: javascript

我有以下代码:

var items = [item1, item2, item3];

var index = Math.random() * items.length;

我希望声明

items[index]

从我的数组中返回一个随机项,但是它总是返回undefined。如何获得由index变量索引的项目?

3 个答案:

答案 0 :(得分:4)

您需要一个整数索引,因为Array由正整数组成。

如果使用非整数值,则该值将转换为字符串(这也适用于整数值)并用作property accessor。在这种情况下,例如1.22,该值在数组中不存在,您得到undefined

顺便说一句,数组是Javascript中的对象,因此所有值都可以用作数组的键。

var items = ['item1', 'item2', 'item3'];
var index = Math.floor(Math.random() * items.length);

console.log(items[index]);

答案 1 :(得分:2)

您应该floor使用数字作为下标:

var index = Math.floor(Math.random() * items.length);

这样,您将获得index的整数值,而不是浮点数。

答案 2 :(得分:0)

使用Math.round()向上舍入索引

var index = Math.round(Math.random() * (items.length - 1));

否则,它可能指向数组中未包含的类似2.3的东西

相关问题