给出以下代码段:
const myArray = ["foo", "bar", "baz"];
myArray.someProperty = "foobar";
console.log(myArray)
在Safari中,它将仅显示以下内容:
["foo", "bar", "baz"] (3)
在其他浏览器(例如Chrome和Firefox)中,它将显示该someProperty
属性以及本机属性,例如length
:
Array(3)
0: "foo"
1: "bar"
2: "baz"
someProperty: "foobar"
length: 3
值得一提的是喜欢的东西console.dir
,console.table
或console.log(JSON.stringify(myArray))
不会为了显示这种性质的工作。
Safari中是否有针对此限制的解决方法?显然我可以做console.log(myArray.someProperty)
,但是我的主要目标是检查数组具有哪些属性(我不是创建数组的人,而是由JS库创建的),所以这些属性对我来说是未知的。
您需要先将其转换为对象
console.log(Object.assign({}, myArray))
它将显示所有数组属性
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句