如何使用变量来查找数组中的元素?

问题描述:

我想采取一些用户输入,并用它来找到一个数组中的某个对象。但是,当我尝试使用下面的代码进行操作时,出现未定义的错误。我究竟做错了什么?如何使用变量来查找数组中的元素?

function findNextLevel() { 
    var currentLevel = parseFloat(document.getElementById("currentLevel").value); 
    var xpForLevel = trainerLevels.currentLevel; 
    document.getElementById("result01").innerHTML = xpForLevel; 
} 
+1

如果您正在使用变量来获取属性的值,则必须使用括号表示法:'var xpForLevel = trainerLevels [currentLevel];' –

+0

问题在于,它非常简单。谢谢 – Giles

+0

在[documentation](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_accessors)中详细讨论过。 – 2016-07-31 09:29:52

我假设trainerLevels是一个数组,currentLevel是一个索引。如果是这样,在特定索引处访问数组中某个元素的方式就是像这样使用括号。否则,你能否在你的问题中提供更多细节?

var xpForLevel = trainerLevels[currentLevel]; 

如果这是你要找的答案,那么我可以建议您使用parseInt,而不是parseFloat功能得到指数?此外,由于是用户输入,因此您可能需要检查currentLevel是否在正确的范围内。