我想知道[]
和(3) [Object,Object,Object]
之间的数组表示法有什么区别?
我有一个对象数组,例如:
var array = [{id: 1, text: 'a'}, {id: 2, text: 'b'}, {id: 3, text: 'c'}];
当我在代码中的某一行尝试使用
console.log(array)
时,有时它会打印出[]
,有时则是(3) [Object,Object,Object]
。虽然[]
不是空的,但当我在浏览器控制台中展开它时,两者都包含相同的值(3个对象)。在我的情况下,当我像这样使用
var array
作为我的select2
数据时:$('#elems').select2({
data: array
});
如果我运行
console.log(array)
并且显示为 (3) [Object, Object, Object]
,那么 select2
会获取数据,选项将会是 a,b,c
。但是,当它显示为 []
时,select2
无法读取对象,因此选项将为空。我想知道是否
select2
将 []
视为空值,即使在浏览器控制台中 []
可以展开并包含值。像这样:
![enter image description here](https://istack.dev59.com/E8fRZ.webp)
i
图标吗?控制台并没有标准化,因此每个浏览器可以自行决定如何显示数据。 - Sebastian Simonselect2
读取object
。 - procatmerconsole.log
,有些显示为[]
,有些则没有。 - procatmer