gpt4 book ai didi

javascript - 数组表示

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:59:20 25 4
gpt4 key购买 nike

我想知道 [](3) [Object,Object,Object] 之间的数组表示有什么区别?

我有一些对象,比如:

var array = [{id: 1, text: 'a'}, {id: 2, text: 'b'}, {id: 3, text: 'c'}];

当我在代码中的某行尝试 console.log(array) 时,有时它打印为 [] 有时打印为 (3) [对象,对象,对象][] 不是空的,但是,当我在浏览器的控制台上展开它时,它们都包含相同的值(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

有人能解释一下吗?

最佳答案

这是一个时间问题。 console.log 在添加项目之前运行。运行此代码段作为示例。你必须恰到好处地把握时机。很可能是竞争条件。

var array = [{id: 1, text: 'a'}, {id: 2, text: 'b'}, {id: 3, text: 'c'}];
console.log(array);

var array = [];
setTimeout(function(){
array.push({id: 1, text: 'a'}, {id: 2, text: 'b'}, {id: 3, text: 'c'});
}, 1000);
console.log(array);

关于javascript - 数组表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44939373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com