使用整数作为关联数组的键在 iOS safari 上不起作用

Posted

技术标签:

【中文标题】使用整数作为关联数组的键在 iOS safari 上不起作用【英文标题】:Use integer as key of associative array does not work on iOS safari 【发布时间】:2015-07-11 23:56:10 【问题描述】:

我正在使用 cordova 开发一个移动应用程序。经测试,该应用在 android 上运行良好,但不适用于 ios

在调试它时,我发现当我尝试访问关联数组时,iOS 总是将关联数组作为字符串并在键值的索引处返回一个字符。

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

上面的代码在 iOS 上总是返回 '[' 但在 Android 上返回 ['id': 5,'id':6]。

这是 iOS 和 safari 的问题吗?我该如何解决这个问题?

【问题讨论】:

如果使用双引号会怎样? @NicRaboy 是一样的。看起来我必须使用字符串而不是整数作为键。 我在 iOS 上测试过,我也得到了 ["id":5,"id":6] @jcesarmobile 您使用的是哪个版本的 iOS?我在 8.3 上进行了测试,但无法使其正常工作。我只有通过将键更改为字符串,如'id5'而不是'5'才能使其工作。 我在 8.1.3 上测试过 【参考方案1】:

对我有用的解决方法是避免使用整数作为关联数组的键。将密钥更改为“id5”后

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

我可以从 Android 和 iOS 上的关联数组中检索值。我相信这是野生动物园的一个错误。也许它将在以后的版本中修复。

【讨论】:

以上是关于使用整数作为关联数组的键在 iOS safari 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

获取字典最小值的键,而该键在数组中

更新另一列时,使用列名作为 PL/SQL 关联数组的键

PHP入门

PHP学习(数组)

在 JavaScript 的关联数组中使用整数作为键

Pandas:根据另一列的键在现有列上映射字典值以替换 NaN