Necesito buscar y reemplazar el valor de un objeto anidado usando javascript. Estoy explicando el objeto a continuación.
let jsonObj = { "service":[ { "name":"restservice", "device":"xr-1", "interface-port":"0/0/2/3", "interface-description":"uBot testing for NSO REST", "addr":"10.10.1.3/24", "mtu":1024 } ], "person": { "male": { "name": "infinitbility" }, "female": { "name": "aguidehub", "address": { "city": "bbsr", "pin": "752109" } } } } En el objeto anidado anterior, necesito buscar la clave y reemplazar el valor. Aquí mi requisito está en todo el objeto, buscará el name de la clave y, donde sea que se encuentre, reemplazará el valor como BBSR . En el caso anterior, hay 3 lugares donde está presente la clave de name , por lo que necesito reemplazar el valor en consecuencia usando Javascript.
Puedes probar el algoritmo de búsqueda profunda
Iterar sobre todo el objeto
Determinar la propiedad actual
Si la propiedad actual es objeto o matriz
luego continúa recursando la propiedad
Si la propiedad no es un objeto o una matriz
luego determine si la clave del objeto == 'nombre'
Si es así, entonces haz lo que quieras hacer.
Si no, entonces no hagas nada.
como esto
const deepSearch = (target) => { if (typeof target === 'object') { for (let key in target) { if (typeof target[key] === 'object') { deepSearch(target[key]); } else { if (key === 'name') { target[key] = 'xxx' } } } } return target }