En JavaScript, trabajar con objetos JSON (JavaScript Object Notation) es común y, a menudo, es posible que deba verificar si existe una determinada clave dentro de un objeto. Este artículo le indicará varios métodos para realizar esta tarea de manera eficiente.
Los objetos JSON, caracterizados por sus pares clave-valor, son estructuras de datos versátiles que se utilizan para almacenar y transmitir datos. Sin embargo, determinar la presencia de una clave específica dentro de dichos objetos es crucial para realizar operaciones condicionales o acceder a datos anidados.
A continuación se detallan los métodos para verificar si existe una clave dentro de un objeto JSON:
Tabla de contenidos
- Método JavaScript hasOwnProperty()
- Usando en operador
- Usando el método Reflect.ownKeys() y include()
- Usando el método Object.getOwnPropertySymbols() y include()
- Usando el método Object.getOwnPropertyNames() y include()
- Usando el método Object.keys() y include()
1. Método JavaScript hasOwnProperty()
Método JavaScript hasOwnProperty() devuelve un valor booleano que indica si el objeto tiene la propiedad definida como propiedad propia (en lugar de heredarla).
Sintaxis:
obj.hasOwnProperty(prop);>
Parámetros:
- apuntalar: Este parámetro es obligatorio. Especifica el nombre de la cadena o el símbolo de la propiedad a verificar.
Valor de retorno:
Devuelve un valor booleano que indica si el objeto tiene la propiedad dada como propiedad propia.
Ejemplo 1: Este ejemplo comprueba prop_1 del objeto mediante el uso propiedad hasOwnProperty .
JavaScript let obj = { prop_1: 'val_1', prop_2: 'val_2', prop_3: 'val_3', prop_4: 'val_4', }; function gfg_Run() { ans = ''; let prop = 'prop_1'; if (obj.hasOwnProperty(prop)) { ans = 'let 'obj' has ' + prop + ' property'; } else { ans = 'let 'obj' has not ' + prop + ' property'; } console.log(ans); } gfg_Run()>
Producción
let 'obj' has prop_1 property>
Ejemplo 2: Este ejemplo comprueba pro_1 del objeto mediante acceso simple a la matriz.
JavaScript
let obj = { prop_1: 'val_1', prop_2: 'val_2', prop_3: 'val_3', prop_4: 'val_4', }; function gfg_Run() { ans = ''; let prop = 'pro_1'; if (obj[prop]) { ans = 'let 'obj' has ' + prop + ' property'; } else { ans = 'let 'obj' has not ' + prop + ' property'; } console.log(ans); } gfg_Run()>
Producción
let 'obj' has not pro_1 property>
Usandoin>
Operador
javascript in>
Operador es un operador incorporado que se utiliza para comprobar si una propiedad particular existe en un objeto o no. Devuelve un valor booleano verdadero si la propiedad especificada está en un objeto; en caso contrario, devuelve FALSO .
Sintaxis:
prop in object>
Parámetros:
- apuntalar : Este parámetro contiene la cadena o símbolo que representa un nombre de propiedad o índice de matriz.
- objeto: Este parámetro es un objeto que se debe comprobar si contiene el apuntalar.
Valor de retorno:
Este método devuelve un valor booleano. El valor verdadero es regresado si la propiedad especificada es encontró en un objeto; de lo contrario, devuelve falso.
Ejemplo: En este ejemplo, estamos usandoin>
Operador.
// Example JSON object let jsonObject = { name: 'John', age: 25, city: 'New York' }; // Check if 'age' key exists in jsonObject if ('age' in jsonObject) { console.log('The key 'age' exists in the JSON object.'); } else { console.log('The key 'age' does not exist in the JSON object.'); }>
Producción
The key 'age' exists in the JSON object.>
UsandoReflect.ownKeys()>
yincludes()>
método
JavaScript Reflect.ownKeys()>
El método en Javascript se utiliza para devolver una matriz de las claves de propiedad propias del objeto de destino e ignora las propiedades heredadas.
Sintaxis:
Reflect.ownKeys( obj );>
Parámetros:
- Objeto: Este parámetro contiene el objeto de destino y se utiliza para obtener sus propias claves.
Valor de retorno:
- Este método siempre devuelve la matriz de las claves de propiedad propias del objeto de destino.
Ejemplo: En este ejemplo estamos usando Reflect.ownKeys()>
yincludes()>
método.
const jsonObject = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyToCheck = 'key2'; if (Reflect.ownKeys(jsonObject).includes(keyToCheck)) { console.log(`${keyToCheck} exists in the JSON object.`); } else { console.log(`${keyToCheck} does not exist in the JSON object.`); }>
Producción
key2 exists in the JSON object.>
Usando Object.getOwnPropertySymbols()>
y includes()>
método
El Object.getOwnPropertySymbols()>
método en JavaScript es un objeto integrado estándar que devuelve una matriz de todas las propiedades de símbolo que están presentes en un objeto determinado. Se devuelve una matriz vacía hasta que se establecen las propiedades del símbolo en el objeto.
Sintaxis:
Object.getOwnPropertySymbols(obj);>
Parámetros:
- objeto: Este parámetro es el objeto cuyas propiedades de símbolo se devolverán.
Valor de retorno:
- Este método devuelve una matriz de todas las propiedades de los símbolos que corresponden a las propiedades que se encuentran directamente en el objeto dado.
Ejemplo: En este ejemplo somos tú. cantar Object.getOwnPropertySymbols()>
y includes()>
método
const jsonObject = { [Symbol('key1')]: 'value1', [Symbol('key2')]: 'value2', [Symbol('key3')]: 'value3' }; const keyToCheck = Symbol('key2'); if (Object.getOwnPropertySymbols(jsonObject).includes(keyToCheck)) { console.log(`${keyToCheck.toString()} exists in the JSON object.`); } else { console.log(`${keyToCheck.toString()} does not exist in the JSON object.`); }>
Producción
Symbol(key2) does not exist in the JSON object.>
Usando Object.getOwnPropertyNames()>
y includes()>
método
El Object.getOwnPropertyNames()>
método en JavaScript es un objeto integrado estándar que devuelve todas las propiedades que están presentes en un objeto determinado, excepto aquellas propiedades no enumerables basadas en símbolos.
Sintaxis:
Object.getOwnPropertyNames(obj);>
Parámetros:
Este método acepta un único parámetro como se mencionó anteriormente y se describe a continuación:
- objeto: Este parámetro contiene el objeto cuyas propiedades enumerables y no enumerables se van a devolver.
Valor de retorno:
- Este método devuelve una matriz de cadenas que corresponden a las propiedades que se encuentran directamente en el objeto dado.
Ejemplo: En este ejemplo estamos utilizando el método Object.getOwnPropertyNames() y include().
JavaScript const jsonObject = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyToCheck = 'key2'; if (Object.getOwnPropertyNames(jsonObject).includes(keyToCheck)) { console.log(`${keyToCheck} exists in the JSON object.`); } else { console.log(`${keyToCheck} does not exist in the JSON object.`); }>
Producción
key2 exists in the JSON object.>
Usando Object.keys()>
y includes()>
método
El Object.keys()>
método en JavaScript se utiliza para recuperar una matriz de nombres de propiedades enumerables de un objeto. Devuelve una matriz que contiene las claves del objeto.
Sintaxis:
Object.keys(obj);>
Parámetro:
- objeto : Es el objeto cuyas propiedades enumerables se van a devolver.
Valor de retorno:
- Devuelve una matriz de cadenas que representan todas las propiedades enumerables del objeto dado.
Ejemplo: En este ejemplo estamos usando el método Object.keys() y include()
JavaScript const jsonObject = { key1: 'value1', key2: 'value2', key3: 'value3' }; const keyToCheck = 'key2'; if (Object.keys(jsonObject).includes(keyToCheck)) { console.log(`${keyToCheck} exists in the JSON object.`); } else { console.log(`${keyToCheck} does not exist in the JSON object.`); }>
Producción
key2 exists in the JSON object.>