JSFiddle - React, Tailwind, and code Playground
JavaScript
let main_object = [
{
"apple":[
{
"name":"aaaa",
"count":"1",
"filter":{
"type":{
"name":"test3"
}
}
},
{
"name":"bbbb",
"count":"9",
"filter":{
"type":{
"name":"test2"
}
}
}
]
},
{
"orange":[
{
"name":"cccc",
"count":"6",
"filter":{
"type":{
"name":"test"
}
}
}
]
}
]
let updated_data = {
"orange":[
{
"name":"cccc",
"count":"1234",
"type":{
"name":"updated_name"
}
}
]
}
let rtype = 'orange';
const altered =
main_object.map((level1,i) => {
if(level1[rtype] !== undefined){
const data = level1[rtype].map((item,index) => {
if(item.name === updated_data[rtype][0].name) {
item = updated_data[rtype];
}
return item;
})
if(level1[rtype] !== undefined){
level1[rtype] = data;
}
}
return level1;
})
console.log(altered);