Introdução
Neste laboratório, exploraremos como obter valores aninhados em objetos JavaScript usando uma função chamada dig. Esta função pode ser usada para recuperar um valor específico de um objeto aninhado complexo, facilitando o acesso às informações necessárias. Através deste laboratório, você aprenderá como usar o operador in e o método reduce() para percorrer objetos aninhados e encontrar o valor alvo.
Como Obter um Valor Aninhado em um Objeto JSON
Para recuperar um valor alvo de um objeto JSON aninhado com base em uma chave fornecida, siga estas etapas:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Verifique se o
targetexiste noobjusando o operadorin. - Se o
targetfor encontrado, retorne o valor correspondente noobj. - Se o
targetnão for encontrado, useObject.values()eArray.prototype.reduce()para chamar recursivamente a funçãodigem cada objeto aninhado até que o primeiro par chave/valor correspondente seja encontrado.
Aqui está o código para a função 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 usar a função dig, primeiro crie um objeto JSON com níveis aninhados, assim:
const data = {
level1: {
level2: {
level3: "some data"
}
}
};
Em seguida, chame a função dig com o objeto JSON e a chave desejada:
dig(data, "level3"); // 'some data'
dig(data, "level4"); // undefined
Esses exemplos retornarão o valor da chave level3 no objeto data e undefined para a chave level4 inexistente.
Resumo
Parabéns! Você concluiu o laboratório "Obter Valor Aninhado em Objeto". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.