Javascript 如何将项目添加到所有树数组';Js中的对象是什么?
我想按顺序标识树数组中的所有对象。为此,我需要迭代所有数组对象以及对象的子对象、子对象、子对象等。。并将rowId插入到每个 我所拥有的Javascript 如何将项目添加到所有树数组';Js中的对象是什么?,javascript,arrays,reactjs,tree,treeview,Javascript,Arrays,Reactjs,Tree,Treeview,我想按顺序标识树数组中的所有对象。为此,我需要迭代所有数组对象以及对象的子对象、子对象、子对象等。。并将rowId插入到每个 我所拥有的 rows={[ { car: 'Audi A4', city: 'Las Vegas', items: null, name: 'Sandra', sex: 'Female' }, { car: 'Chevrolet Cruze', city: 'Tokyo', items: [
rows={[
{
car: 'Audi A4',
city: 'Las Vegas',
items: null,
name: 'Sandra',
sex: 'Female'
},
{
car: 'Chevrolet Cruze',
city: 'Tokyo',
items: [
{
car: 'BMW 750',
city: 'London',
items: [
{
car: 'Toyota Corolla',
city: 'Chicago',
name: 'David',
sex: 'Male'
},
],
name: 'Robert',
sex: 'Male'
}
],
name: 'Sharon',
sex: 'Female'
}
]}
我所期望的
rows={[
{
car: 'Audi A4',
city: 'Las Vegas',
items: null,
name: 'Sandra',
sex: 'Female',
rowId: 1
},
{
car: 'Chevrolet Cruze',
city: 'Tokyo',
items: [
{
car: 'BMW 750',
city: 'London',
items: [
{
car: 'Toyota Corolla',
city: 'Chicago',
name: 'David',
sex: 'Male',
rowId: 2
},
],
name: 'Robert',
sex: 'Male',
rowId: 3
}
],
name: 'Sharon',
sex: 'Female',
rowId: 4
}
]}
当没有内部对象时,我可以这样做迭代
rows.map((row, index) => ({ ...row, rowId: index }));
他还尝试了一些递归方法,但没有一种有效,实际上也没有在web上找到有用的东西
寻找一个天才开发谁可以指导我通过这一点。提前感谢。您可以采用算法并向每个对象添加id
const addId=(数据,id)=>{
const iter=array=>array.forEach(o=>{
if(o.items)iter(o.items);//首先搜索
o、 id=id++;//以后添加
});
iter(数据);
};
var rows=[{汽车:“奥迪A4”,城市:“拉斯维加斯”,项目:空,名称:“桑德拉”,性别:“女性”},{汽车:“雪佛兰克鲁兹”,城市:“东京”,项目:[{汽车:“宝马750”,城市:“伦敦”,项目:[汽车:“丰田花冠”,城市:“芝加哥”,名称:“大卫”,性别:“男性”},],名称:“罗伯特”,性别:“男性”},名称:“沙龙”,性别:“女性”};
添加(第1行);
console.log(行)代码>
.as console wrapper{max height:100%!important;top:0;}
是否必须将编号从最内层转到最外层,或者可以是相反的或任意方向?我需要从最内层到最外层进行编号,就像示例对象中的一样。不幸的是,我们使用的定制数据网格要求。