Introducción
En este laboratorio, exploraremos cómo obtener valores anidados en objetos de JavaScript utilizando una función llamada dig. Esta función se puede utilizar para recuperar un valor específico de un objeto anidado complejo, lo que facilita el acceso a la información necesaria. A través de este laboratorio, aprenderá a utilizar el operador in y el método reduce() para recorrer objetos anidados y encontrar el valor objetivo.
Cómo obtener un valor anidado en un objeto JSON
Para recuperar un valor objetivo de un objeto JSON anidado basado en una clave dada, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Verifique si el
targetexiste en elobjutilizando el operadorin. - Si se encuentra el
target, devuelva el valor correspondiente en elobj. - Si no se encuentra el
target, utiliceObject.values()yArray.prototype.reduce()para llamar recursivamente a la funcióndigen cada objeto anidado hasta que se encuentre el primer par clave/valor coincidente.
A continuación, se muestra el código de la función dig:
const dig = (obj, target) =>
target in obj
? obj[target]
: Object.values(obj).reduce((acc, val) => {
if (acc !== undefined) return acc;
if (typeof val === "object") return dig(val, target);
}, undefined);
Para utilizar la función dig, primero cree un objeto JSON con niveles anidados, como este:
const data = {
level1: {
level2: {
level3: "algún dato"
}
}
};
Luego, llame a la función dig con el objeto JSON y la clave deseada:
dig(data, "level3"); //'algún dato'
dig(data, "level4"); // undefined
Estos ejemplos devolverán el valor de la clave level3 en el objeto data y undefined para la clave level4 inexistente.
Resumen
¡Felicitaciones! Has completado el laboratorio de Obtener Valor Anidado en Objeto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.