如何使用变量来查找数组中的元素?
问题描述:
我想采取一些用户输入,并用它来找到一个数组中的某个对象。但是,当我尝试使用下面的代码进行操作时,出现未定义的错误。我究竟做错了什么?如何使用变量来查找数组中的元素?
function findNextLevel() {
var currentLevel = parseFloat(document.getElementById("currentLevel").value);
var xpForLevel = trainerLevels.currentLevel;
document.getElementById("result01").innerHTML = xpForLevel;
}
答
我假设trainerLevels
是一个数组,currentLevel
是一个索引。如果是这样,在特定索引处访问数组中某个元素的方式就是像这样使用括号。否则,你能否在你的问题中提供更多细节?
var xpForLevel = trainerLevels[currentLevel];
如果这是你要找的答案,那么我可以建议您使用parseInt
,而不是parseFloat
功能得到指数?此外,由于是用户输入,因此您可能需要检查currentLevel
是否在正确的范围内。
如果您正在使用变量来获取属性的值,则必须使用括号表示法:'var xpForLevel = trainerLevels [currentLevel];' –
问题在于,它非常简单。谢谢 – Giles
在[documentation](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_accessors)中详细讨论过。 – 2016-07-31 09:29:52