Introdução
Neste laboratório, exploraremos como recuperar valores aninhados de um objeto JSON com base em um array de chaves. Usaremos o método reduce() para percorrer a estrutura aninhada do objeto e recuperar o valor alvo. Ao final deste laboratório, você terá uma melhor compreensão de como acessar valores específicos dentro de um objeto JSON complexo.
Como Recuperar um Valor Aninhado em um Objeto Usando um Array de Chaves
Para recuperar um valor específico de um objeto JSON aninhado, você pode usar a função deepGet. Esta função recebe um objeto e um array de chaves e retorna o valor alvo se ele existir no objeto.
Para usar a função deepGet:
- Crie um array das chaves que você deseja recuperar do objeto JSON aninhado.
- Chame a função
deepGetcom o objeto e o array de chaves. - A função retornará o valor alvo se ele existir, ou
nullse não existir.
Aqui está o código para a função deepGet:
const deepGet = (obj, keys) =>
keys.reduce(
(xs, x) => (xs && xs[x] !== null && xs[x] !== undefined ? xs[x] : null),
obj
);
E aqui está um exemplo de como usar a função deepGet:
let index = 2;
const data = {
foo: {
foz: [1, 2, 3],
bar: {
baz: ["a", "b", "c"]
}
}
};
deepGet(data, ["foo", "foz", index]); // returns 3
deepGet(data, ["foo", "bar", "baz", 8, "foz"]); // returns null
Para começar a praticar a codificação, abra o Terminal/SSH e digite node.
Resumo
Parabéns! Você concluiu o laboratório "Obter Valor Aninhado em Objeto com Base em Array de Chaves". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.