A JavaScript, treballar amb objectes JSON (JavaScript Object Notation) és habitual i, sovint, és possible que hàgiu de comprovar si existeix una determinada clau dins d'un objecte. Aquest article explicarà diversos mètodes per dur a terme aquesta tasca de manera eficient.
Els objectes JSON, caracteritzats pels seus parells clau-valor, són estructures de dades versàtils que s'utilitzen per emmagatzemar i transmetre dades. Tanmateix, determinar la presència d'una clau específica dins d'aquests objectes és crucial per realitzar operacions condicionals o accedir a dades imbricades.
A continuació es mostren els mètodes per comprovar si existeix una clau dins d'un objecte JSON:
Taula de contingut
- Mètode JavaScript hasOwnProperty().
- S'utilitza a l'operador
- Utilitzant el mètode Reflect.ownKeys() i includes().
- Utilitzant el mètode Object.getOwnPropertySymbols() i includes().
- Utilitzant el mètode Object.getOwnPropertyNames() i includes().
- Utilitzant el mètode Object.keys() i includes().
1. Mètode JavaScript hasOwnProperty().
JavaScript hasOwnProperty() Mètode retorna un booleà que indica si l'objecte té la propietat definida com a propietat pròpia (en lloc d'heretar-la).
Sintaxi:
obj.hasOwnProperty(prop);>
Paràmetres:
- prop: Aquest paràmetre és obligatori. Especifica el nom de la cadena o el símbol de la propietat a comprovar.
Valor de retorn:
Retorna un valor booleà que indica si l'objecte té la propietat donada com a propietat pròpia.
Exemple 1: Aquest exemple comprova prop_1 del obj mitjançant l'ús de propietat 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()>
Sortida
let 'obj' has prop_1 property>
Exemple 2: Aquest exemple comprova pro_1 del obj mitjançant un simple accés a la matriu.
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()>
Sortida
let 'obj' has not pro_1 property>
Utilitzantin>
Operador
JavaScript in>
Operador és un operador integrat que s'utilitza per comprovar si una propietat particular existeix o no en un objecte. Retorna un valor booleà veritat si la propietat especificada es troba en un objecte, en cas contrari, retorna fals .
Sintaxi:
prop in object>
Paràmetres:
- prop : Aquest paràmetre conté la cadena o símbol que representa un nom de propietat o un índex de matriu.
- objecte: Aquest paràmetre és un objecte que s'ha de comprovar si conté prop.
Valor de retorn:
Aquest mètode retorna un valor booleà. El valor veritat es retorna si la propietat especificada és trobat en un objecte, sinó retorna fals.
Exemple: En aquest exemple, estem utilitzantin>
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.'); }>
Sortida
The key 'age' exists in the JSON object.>
UtilitzantReflect.ownKeys()>
iincludes()>
mètode
JavaScript Reflect.ownKeys()>
El mètode Javascript s'utilitza per retornar una matriu de les claus de propietat de l'objecte de destinació i ignora les propietats heretades.
Sintaxi:
Reflect.ownKeys( obj );>
Paràmetres:
- Obj: Aquest paràmetre conté l'objecte de destinació i s'utilitza per obtenir les seves pròpies claus.
Valor de retorn:
- Aquest mètode sempre retorna la matriu de les claus de propietat de l'objecte objectiu.
Exemple: En aquest exemple estem utilitzant Reflect.ownKeys()>
iincludes()>
mètode.
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.`); }>
Sortida
key2 exists in the JSON object.>
Utilitzant Object.getOwnPropertySymbols()>
i includes()>
mètode
El Object.getOwnPropertySymbols()>
mètode en JavaScript és un objecte integrat estàndard que retorna una matriu de totes les propietats de símbols que estan presents en un objecte determinat. Es retorna una matriu buida fins que s'estableixen propietats de símbol a l'objecte.
Sintaxi:
Object.getOwnPropertySymbols(obj);>
Paràmetres:
- obj: Aquest paràmetre és l'objecte les propietats del símbol s'han de retornar.
Valor de retorn:
- Aquest mètode retorna una matriu de totes les propietats del símbol que corresponen a les propietats que es troben directament a l'objecte donat.
Exemple: En aquest exemple som tu cantar Object.getOwnPropertySymbols()>
i includes()>
mètode
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.`); }>
Sortida
Symbol(key2) does not exist in the JSON object.>
Utilitzant Object.getOwnPropertyNames()>
i includes()>
mètode
El Object.getOwnPropertyNames()>
mètode a JavaScript és un objecte integrat estàndard que retorna totes les propietats que estan presents en un objecte determinat excepte aquelles propietats no numerables basades en símbols.
Sintaxi:
Object.getOwnPropertyNames(obj);>
Paràmetres:
Aquest mètode accepta un únic paràmetre tal com s'ha esmentat anteriorment i es descriu a continuació:
- obj: Aquest paràmetre conté l'objecte les propietats enumerables i no enumerables del qual s'han de retornar.
Valor de retorn:
- Aquest mètode retorna una matriu de cadenes que correspon a les propietats que es troben directament a l'objecte donat.
Exemple: En aquest exemple estem utilitzant Object.getOwnPropertyNames() i el mètode includes().
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.`); }>
Sortida
key2 exists in the JSON object.>
Utilitzant Object.keys()>
i includes()>
mètode
El Object.keys()>
mètode en JavaScript s'utilitza per recuperar una matriu dels noms de propietat enumerables d'un objecte. Retorna una matriu que conté les claus de l'objecte.
Sintaxi:
Object.keys(obj);>
Paràmetre:
- obj : és l'objecte les propietats enumerables del qual s'han de retornar.
Valor de retorn:
- Retorna una matriu de cadenes que representen totes les propietats enumerables de l'objecte donat.
Exemple: En aquest exemple estem utilitzant el mètode Object.keys() i includes().
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.`); }>
Sortida
key2 exists in the JSON object.>