Quiero actualizar la matriz de valores de objetos anidados a continuación que le he dado a mi objeto. el primer objeto de nombre cosas objetos de objeto de permiso Ver valor que quiero actualizar como falso.
const obj= [ { "name": "Things", "is_default": true, "item_id": "60aa485d-551e-4d96-8355-68c3787f17d7", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Things component permissions" }, { "name": "Devices", "is_default": true, "item_id": "eb3efccd-8bab-4065-b350-693bcf2024a6", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Devices component permissions" } ]Quiero actualizar el primer objeto del objeto de permiso La vista es falsa
la salida esperada es:
const obj= [ { "name": "Things", "is_default": true, "item_id": "60aa485d-551e-4d96-8355-68c3787f17d7", "permissions": { "View": false, "Create": false, "Delete": false, "Update": false }, "description": "Things component permissions" }, { "name": "Devices", "is_default": true, "item_id": "eb3efccd-8bab-4065-b350-693bcf2024a6", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Devices component permissions" } ]Gracias de antemano por favor ayuden a alguien...
Sugeriría crear una función, diga setPermission para obtener la entrada relevante, luego configure los permisos de manera adecuada:
const obj= [ { "name": "Things", "is_default": true, "item_id": "60aa485d-551e-4d96-8355-68c3787f17d7", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Things component permissions" }, { "name": "Devices", "is_default": true, "item_id": "eb3efccd-8bab-4065-b350-693bcf2024a6", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Devices component permissions" } ] function setPermission(arr, index, permissionName, value) { let entry = arr[index]; if (entry) { entry.permissions[permissionName] = value; } } setPermission(obj, 0, 'View', false); console.log(obj) .as-console-wrapper { max-height: 100% !important; top: 0; } También puede buscar artículos por id , por ejemplo:
const obj= [ { "name": "Things", "is_default": true, "item_id": "60aa485d-551e-4d96-8355-68c3787f17d7", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Things component permissions" }, { "name": "Devices", "is_default": true, "item_id": "eb3efccd-8bab-4065-b350-693bcf2024a6", "permissions": { "View": true, "Create": false, "Delete": false, "Update": false }, "description": "Devices component permissions" } ] function setPermissionById(arr, id, permissionName, value) { let entry = arr.find(el => el.item_id === id); if (entry) { entry.permissions[permissionName] = value; } } setPermissionById(obj, '60aa485d-551e-4d96-8355-68c3787f17d7', 'View', false); console.log(obj) .as-console-wrapper { max-height: 100% !important; top: 0; }