【发布时间】:2019-06-16 03:42:38
【问题描述】:
我想在每次单击按钮时插入对象作为现有最后一个对象的子对象。
这是我的代码:
const Myarray = [
{ id: 1, child:[] }
]
handleArrayDepth = (Myarray) => {
Myarray.map(arrayitem => {
let id = arrayitem.id;
id++;
arrayitem.child.push({
id: id,
child: []
});
if (id < 2) {
this.handleArrayDepth(arrayitem.child);
}
});
};
console.log(Myarray);
这是我的初始数组的日志。
0:{
id: 1,
child: []
}
如果我点击按钮 2 次,我会得到如下输出:
0:{
id: 1,
child: [
0:{
id: 2,
child: []
},
1:{
id: 3,
child: []
}
]
}
但我想要如下所示:
0:{
id: 1,
child: [
0:{
id: 2,
child: [
0:{
id: 3,
child: []
}
]
}
]
}
每次点击都应该递归/无限地进行。我找不到有效的方法来做到这一点。
【问题讨论】:
-
你到底为什么要重新定义
Array?您将如何创建new Array或检查Array.isArray? -
array应该是arrayitem -
我刚刚发布了我的代码插图。这不是一个确切的代码。
标签: javascript arrays object ecmascript-6