2016-07-31 71 views
1

我想採取一些用戶輸入,並用它來找到一個數組中的某個對象。但是,當我嘗試使用下面的代碼進行操作時,出現未定義的錯誤。我究竟做錯了什麼?如何使用變量來查找數組中的元素?

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

回答

1

我假設trainerLevels是一個數組,currentLevel是一個索引。如果是這樣,在特定索引處訪問數組中某個元素的方式就是像這樣使用括號。否則,你能否在你的問題中提供更多細節?

var xpForLevel = trainerLevels[currentLevel]; 

如果這是你要找的答案,那麼我可以建議您使用parseInt,而不是parseFloat功能得到指數?此外,由於是用戶輸入,因此您可能需要檢查currentLevel是否在正確的範圍內。

相關問題