Introdução
Neste laboratório, exploraremos como verificar se um valor alvo existe em um objeto JSON usando JavaScript. Usaremos a função hasKey() que nos permite verificar sequencialmente as chaves no objeto para determinar se o valor alvo está presente. Este laboratório proporcionará uma melhor compreensão de como trabalhar com objetos JSON em JavaScript.
Função JavaScript para Verificar se um Objeto Possui uma Chave
Para verificar se um valor alvo existe em um objeto JavaScript, use a função hasKey.
A função recebe dois argumentos: obj, o objeto JSON para pesquisar, e keys, um array de chaves para verificar. Aqui estão os passos para verificar se o objeto possui a(s) chave(s) fornecida(s):
- Verifique se o array
keysnão está vazio. Se estiver vazio, retornefalse. - Use o método
Array.prototype.every()para iterar sobre o arraykeyse verificar sequencialmente cada chave na profundidade interna doobj. - Use o método
Object.prototype.hasOwnProperty()para verificar seobjnão possui a chave atual ou não é um objeto. Se qualquer uma dessas condições for verdadeira, interrompa a propagação e retornefalse. - Caso contrário, atribua o valor da chave a
objpara usar na próxima iteração. - Se o array
keysfoi iterado com sucesso, retornetrue.
Aqui está o código para a função hasKey:
const hasKey = (obj, keys) => {
return (
keys.length > 0 &&
keys.every((key) => {
if (typeof obj !== "object" || !obj.hasOwnProperty(key)) return false;
obj = obj[key];
return true;
})
);
};
Aqui estão alguns exemplos de como usar a função hasKey:
let obj = {
a: 1,
b: { c: 4 },
"b.d": 5
};
hasKey(obj, ["a"]); // true
hasKey(obj, ["b"]); // true
hasKey(obj, ["b", "c"]); // true
hasKey(obj, ["b.d"]); // true
hasKey(obj, ["d"]); // false
hasKey(obj, ["c"]); // false
hasKey(obj, ["b", "f"]); // false
Resumo
Parabéns! Você concluiu o laboratório "Verificar se um Objeto Possui uma Chave". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.