I have the following object that contains two arrays inside:
const response = {
"layers": [{
"layer": "test5",
"perms": {
"group_id": 1,
"layer_id": 60
}
},
{
"layer": "test6",
"perms": {
"group_id": 1,
"layer_id": 61
}
},
{
"layer": "test7",
"perms": {
"group_id": 1,
"layer_id": 71
}
},
{
"layer": "test8",
"perms": {
"group_id": 1,
"layer_id": 76
}
}
],
"perms": [{
"layer": "test6",
"perms": {
"group_id": 2,
"layer_id": 61
}
},
{
"layer": "test7",
"perms": {
"group_id": 2,
"layer_id": 71
}
},
{
"layer": "test8",
"perms": {
"group_id": 2,
"layer_id": 76
}
}
],
"status": "open"
}
I want to compare both layers and perms and if their layer key is the same then add a new key called check = true otherwise check = false
Here is how I did:
const layers = response.layers
const perms = response.perms
layers.map(layer => {
perms.filter(perm => {
if (layer.layer === perm.layer) {
layer.check = true
} else {
layer.check = false
}
})
})
return layers
I want to get the following:
"layers": [{
"layer": "test5",
"perms": {
"group_id": 1,
"layer_id": 60
},
"check": false
},
{
"layer": "test6",
"perms": {
"group_id": 1,
"layer_id": 61
},
"check": true
},
{
"layer": "test7",
"perms": {
"group_id": 1,
"layer_id": 71
},
"check": true
},
{
"layer": "test8",
"perms": {
"group_id": 1,
"layer_id": 76
},
"check": true
}
]