gpt4 book ai didi

javascript - 对象中数组的长度不匹配

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:25 27 4
gpt4 key购买 nike

我试图在 D3 中使用树层次结构,但卡住了。我以为我正在正确构建 JSON,但是当我查看开发人员工具中的对象时,我看到以下内容:

chrome

注意第一行显示 dependents 数组的长度为 0,但展开后,您可以清楚地看到 dependents 有 3 个对象。当我对其进行字符串化时,我得到以下信息:

{"attributes":{"id":0,"name":"root"},"dependents":[]} 

知道哪里出了问题吗?谢谢!

最佳答案

当您在记录对象后更改对象时通常会发生此问题,因为 Chrome 在您记录对象时不会深度复制该对象,而只是存储一个引用。

树不会立即构建,而是仅在需要时构建,有时它基于更新的值。

如果你的对象足够轻,如果你真的想在记录时看到它的值,你可以自己克隆它:

console.log(JSON.parse(JSON.stringify(myobject)));

如果你的对象很大或者是递归的,你可能会发现克隆它有点困难。我个人有自己的工具,JSON.prune.log .

由于忽略浏览器的优化是有代价的,如果您想确定它们的记录时间值,您通常应该简单地考虑这种行为并仅记录原语...

关于javascript - 对象中数组的长度不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297501/

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