Firefox开发工具&x2B;Chrome调试器控制台javascript对象引用的错误显示

Firefox开发工具&x2B;Chrome调试器控制台javascript对象引用的错误显示,javascript,reference,firebug,firefox-developer-tools,Javascript,Reference,Firebug,Firefox Developer Tools,我在Firefox开发工具中遇到一些不寻常的行为。使用lodash从对象中筛选出一些元素后,控制台将显示对该对象以前未筛选版本的引用,但仅显示在右侧窗格中 在左边,它显示了2个元素,这是我预期的结果。右侧显示原始未过滤的17个元素。事实上,在最近FB的中断迫使我切换到开发工具之前,我很少在Firebug上经历过这种情况 如果没有其他人经历过这种情况,我可以尝试将其提取到一个最小的示例,但如果它是一个已知的bug,我更愿意围绕它工作 倾向于相信我的对象实际上被过滤了,如左图所示,但这有点令人不安

我在Firefox开发工具中遇到一些不寻常的行为。使用lodash从对象中筛选出一些元素后,控制台将显示对该对象以前未筛选版本的引用,但仅显示在右侧窗格中

在左边,它显示了2个元素,这是我预期的结果。右侧显示原始未过滤的17个元素。事实上,在最近FB的中断迫使我切换到开发工具之前,我很少在Firebug上经历过这种情况

如果没有其他人经历过这种情况,我可以尝试将其提取到一个最小的示例,但如果它是一个已知的bug,我更愿意围绕它工作

倾向于相信我的对象实际上被过滤了,如左图所示,但这有点令人不安

更新:

使用Firefox51 Linux

Chrome实际上也在做同样的事情。它显示了带有17个元素的
数组[2]


检查阵列时,将显示其当前值,即单击记录的变量时的值。此值可能不同于记录到控制台的值

ChromeDevTools在数组旁边显示一个小图标,解释悬停时的情况


这意味着,在记录变量时,它实际上只有两个项目,但在您单击它时,它显然再次未被过滤。

当您检查数组时,会显示其当前值,即单击记录的变量时的值。此值可能不同于记录到控制台的值

ChromeDevTools在数组旁边显示一个小图标,解释悬停时的情况


这意味着,在记录变量时,它实际上只有两个项目,但在您单击它时,它显然再次未过滤。

您确定在这两个位置都记录了过滤后的版本吗
filter
不会改变数组,因此未经筛选的数组仍然存在。如果没有可用的示例,很难提供帮助。console中的对象具有继承性,而不是快照。尝试JSON.stringify version和compareAre您确定在这两个位置都记录了过滤后的版本吗
filter
不会改变数组,因此未经筛选的数组仍然存在。如果没有可用的示例,很难提供帮助。console中的对象具有继承性,而不是快照。请尝试JSON.stringify版本并进行比较。他们应该将console.log()更改为console.Mizzle()。上次我检查时,日志的目的是在事件按顺序发生时记录事件。。。耸耸肩:-/这显然是他们在性能方面做出的妥协,因为如果他们将所有记录的对象都保留在内存中,内存消耗将快速增加。正如@charlietfl提到的,使用
JSON.stringify()
是一个简单的解决方法。谢谢。他们应该将console.log()更改为console.Mizzle()。上次我检查时,日志的目的是在事件按顺序发生时记录事件。。。耸耸肩:-/这显然是他们在性能方面做出的妥协,因为如果他们将所有记录的对象都保留在内存中,内存消耗将快速增加。正如@charlietfl所提到的,使用
JSON.stringify()
是一种简单的解决方法。