我正在使用JavaScript地圖存儲密鑰和值。稍後我會檢查指定的鍵是否存在於地圖中,但它有時會給出正確的結果,但有時它不會。我試圖使用console.log(mapname)
來打印地圖,它顯示所有的鍵,但是如果我嘗試檢查某個指定的鍵是否存在 - 有時它會給出錯誤的答案。使用javascript地圖/對象的奇怪行爲
我用下面的代碼:
// following code is called n times in loop with different/same vales of x
myMap : new Object();
var key = x ; // populated dynamically actually
myMap[key] = "dummyval";
if(myIdMap[document.getElementById("abc").value.trim()] != null)
alert('present');
else
alert('not present');
什麼可以爲可能出現的問題? alphanumericstring /整數值可以用作鍵嗎?
我們可以看到上下文,你'使用這個? 「myMap」在哪裏定義(看起來像在對象文本中)? 'x`是如何創建的(是全局的還是以某種方式作爲參數傳遞的)?你還說過,有時候相同的值會以`x`的形式傳入......當然,當你這樣做時,與舊的x值相關的結果值將被破壞。但我們可以真正使用更多細節。很難通過這麼少的數據來診斷這樣的問題。 – Reid 2011-01-12 05:04:47
該代碼中有幾個語法/引用錯誤。你能發佈你正在使用的實際代碼嗎? – Stephen 2011-01-12 05:47:00