1 回答
TA贡献1876条经验 获得超7个赞
根据提供的数据结构,您可以使用递归解决方案来到达您感兴趣的嵌套数组,然后当递归命中时,base case您可以将新对象推入该特定深度级别的数组中,或者使用一个回调函数,将尽可能多的新对象推入其中。
我不太确定您所指的“动态”部分,但以下内容应该使您朝着正确的方向前进:
function rec(array) {
for (let i in array) {
if (array[i].children === undefined) { // BASE CASE
// console.log("base case ", array);
// push the object you want into the array, as at this point in the
// recursion you will be at the level you can modify your image array as you like
return array.push({ "myImage": "myBeautifulCatImage", "does": "poooooor"});
}
// recursive call
// visualise how deep you are going...
// console.log("rec", array[i].children);
return rec(array[i].children);
}
}
rec(arr);
// if you know log your arr as in:
// console.log("arr after recursion", rec(arr))
// you will see your new cat showing where it should be :)
如果此答案可以帮助您解决问题,请考虑接受答案或投票。谢谢。
添加回答
举报