Javascript 如何遍历嵌套的对象数组,并将回调函数应用于更改它的每个元素
我需要更改嵌套对象数组中所有元素的属性键名称和属性值 给定此嵌套对象数组:Javascript 如何遍历嵌套的对象数组,并将回调函数应用于更改它的每个元素,javascript,Javascript,我需要更改嵌套对象数组中所有元素的属性键名称和属性值 给定此嵌套对象数组: const nestedArr = [ { id: 1, name: "foo", children: [ { id: 2, name: "bar", children: [ { id: 3, name: "baz" } ]
const nestedArr = [
{
id: 1,
name: "foo",
children: [
{
id: 2,
name: "bar",
children: [
{
id: 3,
name: "baz"
}
]
}
]
},
]
我希望能够应用一个回调函数,在这里我可以改变每个对象。在这个例子中,我想用“1”附加所有元素name prop。或者我想把“name”道具键改成“name1”
因此,在我对其运行函数后,mutaterecursive(nestedArr,callback)
数组应更改为:
const nestedArr = [
{
id: 1,
name1: "foo1",
children: [
{
id: 2,
name1: "bar1",
children: [
{
id: 3,
name1: "baz1"
}
]
}
]
},
]
因此,基本上我需要能够递归地遍历树,并为每个元素运行一个回调函数,该函数将元素作为param,对其执行某些操作并返回新的变异元素
我对回调函数的实现细节不太感兴趣,但更像是如何遍历树,并为每个元素运行回调函数,该函数返回一个新的修改过的eac元素实例。尝试以下方法:
const nestedArr=[
{
id:1,
姓名:"富",,
儿童:[
{
id:2,
名称:“酒吧”,
儿童:[
{
id:3,
名称:“baz”
}
]
}
]
},
];
函数applycallback递归(数组、回调){
return Array.isArray(Array)?Array.map(({children,…item})=>({children:applycallbackrecursely(children,callback),…callback(item)})):数组;
}
什么不起作用?请添加您的尝试。尝试这个:谢谢。我唯一需要添加的是array&&
在array.map
部分之前