как-то так, если я правильно понял что сделать надо вообще
obj = {
"id": 1,
"title": "Article 1",
"children": [
{
"id": 1,
"title": "Title Inside 1",
"children": [
{
"id": 11,
"title": "Title Inside 2",
"children": [
{
"id": 121,
"title": "Title Inside 4"
},
{
"id": 12341,
"title": "Title Inside 6"
}
]
}
]
}
]
}
function fn(obj, upd) {
obj = {...obj, ...upd}
if(Array.isArray(obj.children)) {
obj.children = obj.children.map(child => fn(child, upd))
}
return obj
}
fn(obj, { id: 2, title: 'Article 2' })
это для одного объекта, но должно получиться за-map-ать массив таких элементов такой функцией