Javascript console.log/console.dir显示对象的最后状态,而不是当前状态

Javascript console.log/console.dir显示对象的最后状态,而不是当前状态,javascript,logging,console.log,Javascript,Logging,Console.log,我想记录我的数组/对象是如何随着循环的新步骤而变化的控制台。日志做得不好。它只显示对象的最后状态。例如: var a = {}; console.log(a); // {bob1: 0, bob2: 0} a.bob1 = 0; console.log(a); // {bob1: 0, bob2: 0} a.bob2 = 0; console.log(a); // {bob1: 0, bob2: 0} 我在那里找到了另一个命令:console.dir。在同一示例中,它工作正常。它正确地显示了对

我想记录我的数组/对象是如何随着循环的新步骤而变化的<代码>控制台。日志做得不好。它只显示对象的最后状态。例如:

var a = {};
console.log(a); // {bob1: 0, bob2: 0}
a.bob1 = 0;
console.log(a); // {bob1: 0, bob2: 0}
a.bob2 = 0;
console.log(a); // {bob1: 0, bob2: 0}
我在那里找到了另一个命令:
console.dir
。在同一示例中,它工作正常。它正确地显示了对象的状态

看看这个例子。此命令非常有效:

现在,请看我的代码。所有输出都在控制台中

这是aStar算法。在控制台中查看这一部分(邻居3循环
此代码位于此处
)。将此输出到控制台的车道为
105-113

new openset length: 2
openset after adding new vertex
**shows 1 element, but length is 2**
它显示长度为2,但仅显示1个元素。但是在我看来,algo工作正常(它弹出了另一个元素,它隐藏在这一步之后)。为什么会出现此错误?我做错什么了吗?在我看来,到处都只显示数组的最后一个状态,而不是当前状态:(请帮帮我。

这是一个已知的问题——听起来像是在Chrome下运行

最简单的解决方法是在登录时对值进行JSON编码

console.log(JSON.stringify(a));