Wenn ein Objekt in das Array geschoben wird, handelt es sich im Prinzip um dasselbe JSON-Objekt, das ich im Bild unten markiert habe.
Aber das, was ausgedruckt wird, ändert sich und wird zu einem Array-ähnlichen Objekt. Darf ich fragen, was der Grund ist? Gibt es eine Möglichkeit, dieses Problem zu lösen? Machen Sie es zu einem JSON
再使用JSON.stringify()转一下
想要打印出来是JSON形式,那么请直接转换为JSON字符串打印。
json的定义json
这不是类数组 这是数组元素为
对象
的数组。arr[0] 指的是 { a: 0 }
至于显示的是
Object
字眼 指代的是类型
这个没有问题的,你数组里面放了3个对象,难得这个数组不应该是
[对象1,对象2,对象3]
吗?这还是一个标准的数组,至于类数组的概念,请百度。
你想要的
[{a:0},{a:1},{a:2}]
只是我们使用字面量形式创建数据和对象时的写法而已,这不代表他的展现形式。由于我们字面量形式的写法和json的格式相似,所以可以将其转化为json字符串的形式来查看,这就是你想要的格式。
刚看了你给别人的回复,看来你是没明白json和js对象的区别了。
我之前写过一篇文章JavaScript对象和JSON 供你参考。
控制台打印出来的跟你写的json是不一样的,你看看直接打印你希望得到的json,和push得到的json,其实是一模一样的。