2015-07-11 20 views
0

我正在開發一個包含cordova的移動應用程序。經測試,該應用可與Android搭配使用,但不適用於iOS。使用整數作爲關聯數組的關鍵字在iOS Safari上不起作用

調試它時,我發現當我嘗試訪問關聯數組時,iOS始終將關聯數組作爲字符串並在鍵值的索引處返回一個字符。

var associative = {'5':[{'id': 5},{'id':6}]}; 
var val = associative['5']; 

上述代碼總是返回 '[' 在iOS但返回[{的 'id':5},{ 'ID':6}]在Android。

這是iOS和safari的問題嗎?我怎麼解決這個問題?

+0

如果使用雙引號會怎麼樣? –

+0

@NicRaboy它是一樣的。看起來我必須使用不是整數的字符串作爲鍵。 –

+0

我已經在iOS上測試過,並且我也得到了[{「id」:5},{「id」:6}] – jcesarmobile

回答

0

對我來說一個解決方法是避免使用整數作爲關聯數組的鍵。將密鑰更改爲'id5'後

{'id5':[{'id': 5},{'id':6}]}; 

我可以從Android和iOS上的關聯數組中檢索值。我相信這是Safari上的一個bug。也許它會在以後的版本中修復。

相關問題