我在iOS9 beta 5中发生了一个非常奇怪的问题 - 即使添加了元素,数组似乎也是空的。
听起来很疯狂,但这就是Safari iOS9中的样子 - 这只是在google主页上,没有插件 - 只是vanilla 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'))
谢谢!
答案 0 :(得分:1)
看起来您正在使用Safari 8来检查iOS 9.您应该使用Safari 9或更高版本来检查iOS9.Safé9可用于El Capitan,Yosemite和Mavericks。
你也可以在Yosemite和Mavericks上使用WebKit Nightly来获得相同的行为。
答案 1 :(得分:0)
这似乎是由toString
的实现引起的,console.log
正在调用,而不是空数组。
答案 2 :(得分:0)
问题出在控制台上。 如果需要,您可以使用警报查看要调试的值。
例如:alert(['cat', 'dog'])
。它会弹出你需要的结果。
我在使用 replaceAll
方法时遇到了类似的问题。它在 ios/safari 12 中不支持。如果您遇到这种情况,您可能会遇到某些功能(例如 replaceAll)的问题。就我而言,我不得不使用 polyfill。