admin管理员组文章数量:1565360
今天写一个递归时遇到了一个问题,类似于要把下面的这个数据:
let arr = [
{
name:'a1',
childs:[
{name:'b1',child:null},
{name:'c1',child:null},
]
},
{
name:'a2',
childs:[
{name:'b2',child:null},
{name:'c2',child:null},
]
},
];
通过以下方法:
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].childs.length; i++) {
arr[i][j].parent = arr[i];
}
}
构造构造成这样:
let arr = [
{
name:'a1',
childs:[
{name:'b1',child:null,parent:a1},
{name:'c1',child:null,parent:a1},
]
},
{
name:'a2',
childs:[
{name:'b2',child:null,parent:a2},
{name:'c2',child:null,parent:a2},
]
},
];
简化一下就是:
let b = {};
let a = {childs:b}
b.parent = a;
这就涉及到了对于对象的循环引用。
解决:
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr[i].childs.length; i++) {
let obj = JSON.parse(JSON.stringify(arr[i]));
arr[i][j].parent = obj;
}
}
let b = {};
let a = {childs:b}
b.parent = JSON.parse(JSON.stringify(a));
本文标签: circularconvertingjsonStructure
版权声明:本文标题:[解决]Converting circular structure to JSON 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1725840793a1044989.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论