在iOS9测试版中,Javascript数组始终返回空数组

在iOS9测试版中,Javascript数组始终返回空数组,javascript,mobile-safari,ios9,Javascript,Mobile Safari,Ios9,我在iOS9 beta 5中遇到了一个非常奇怪的问题——即使添加了元素,数组也似乎是空的 听起来很疯狂,但以下是Safari iOS9中的外观-这只是在谷歌主页上,没有插件-只有香草webkit/javascript: 而在Safari桌面上,我看到了正确的行为: 还有其他人有这个问题吗 下面是要复制的代码: myArray = ['cat', 'dog', 'fish'] console.log(myArray.length) console.log(myArray) cons

我在iOS9 beta 5中遇到了一个非常奇怪的问题——即使添加了元素,数组也似乎是空的

听起来很疯狂,但以下是Safari iOS9中的外观-这只是在谷歌主页上,没有插件-只有香草webkit/javascript:

而在Safari桌面上,我看到了正确的行为:

还有其他人有这个问题吗

下面是要复制的代码:

myArray = ['cat', 'dog', 'fish']  
console.log(myArray.length)  
console.log(myArray)  
console.log(myArray.slice(0,1))  
console.log(myArray.indexOf('fish')) 

谢谢

这似乎是由于执行了
toString
,而
console.log
正在调用,而不是空数组。

看起来您正在使用Safari 8检查iOS 9。您应该使用Safari 9或更高版本来检查iOS 9。Safari 9可在El Capitan、约塞米蒂和小牛队使用


你也可以在约塞米蒂和小牛身上使用一个相同的按钮来获得相同的行为。

问题在于控制台。 如果需要,可以使用alert查看要调试的值

例如:
警报(['cat','dog'])
。它会弹出你需要的结果


我在使用
replaceAll
方法时遇到了类似的问题。ios/safari 12中不支持它。如果您遇到这种情况,可能会遇到诸如replaceAll之类的一些函数的问题。就我的情况而言,我必须使用polyfill

那么数组或控制台的问题是什么呢?使用
myArray.join(“”)会得到什么
?@RobG它可能是控制台-但我检查的唯一原因是应用程序中的一个错误可能是由这种行为引起的。@Tom ah-它确实返回了正确的元素…@StephenBartholomew没有关于控制台应该做什么的规范,但它看起来做的肯定不是很有帮助-/这似乎是最有可能的——这肯定是一个骗局,它也完美地解释了我看到的bug。我会认为这是正确的,并继续寻找-如果阵列真的这样做,我想我会看到更多的问题!