V JavaScriptu je delo s predmeti JSON (JavaScript Object Notation) običajno in pogosto boste morda morali preveriti, ali v objektu obstaja določen ključ. Ta članek bo povedal različne metode za učinkovito izvedbo te naloge.
Objekti JSON, za katere so značilni pari ključ-vrednost, so vsestranske podatkovne strukture, ki se uporabljajo za shranjevanje in prenos podatkov. Vendar pa je ugotavljanje prisotnosti določenega ključa v takih objektih ključnega pomena za izvajanje pogojnih operacij ali dostop do ugnezdenih podatkov.
Spodaj so metode za preverjanje, ali ključ obstaja znotraj predmeta JSON:
Kazalo
- Metoda JavaScript hasOwnProperty().
- Uporaba v operaterju
- Uporaba metode Reflect.ownKeys() in includes().
- Uporaba metode Object.getOwnPropertySymbols() in includes().
- Uporaba metode Object.getOwnPropertyNames() in includes().
- Uporaba metode Object.keys() in includes().
1. Metoda JavaScript hasOwnProperty().
Metoda JavaScript hasOwnProperty(). vrne logično vrednost, ki označuje, ali ima objekt definirano lastnost kot svojo lastnost (v nasprotju z dedovanjem).
Sintaksa:
obj.hasOwnProperty(prop);>
Parametri:
- rekvizit: Ta parameter je obvezen. Podaja ime niza ali simbol lastnosti, ki jo želite preveriti.
Povratna vrednost:
Vrne logično vrednost, ki kaže, ali ima predmet dano lastnost kot svojo lastnost.
Primer 1: Ta primer preverja prop_1 od obj z uporabo lastnost 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()>
Izhod
let 'obj' has prop_1 property>
Primer 2: Ta primer preverja pro_1 od obj s preprostim dostopom do polja.
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()>
Izhod
let 'obj' has not pro_1 property>
Uporabain>
Operater
JavaScript in>
Operater je vgrajen operator, ki se uporablja za preverjanje, ali določena lastnost obstaja v objektu ali ne. Vrne logično vrednost prav če je podana lastnost v objektu, sicer se vrne lažno .
Sintaksa:
prop in object>
Parametri:
- prop : Ta parameter vsebuje niz ali simbol, ki predstavlja ime lastnosti ali indeks polja.
- predmet: Ta parameter je predmet, za katerega je treba preveriti, ali vsebuje prop.
Vrnjena vrednost:
Ta metoda vrne logično vrednost. Vrednost prav se vrne če je navedena lastnost našel v objektu, sicer vrne false.
primer: V tem primeru uporabljamoin>
Operater.
// 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.'); }>
Izhod
The key 'age' exists in the JSON object.>
UporabaReflect.ownKeys()>
inincludes()>
metoda
JaScript Reflect.ownKeys()>
metoda v Javascriptu se uporablja za vrnitev matrike lastnih ključev lastnosti ciljnega objekta in ignorira podedovane lastnosti.
Sintaksa:
Reflect.ownKeys( obj );>
Parametri:
- predmet: Ta parameter vsebuje ciljni objekt in se uporablja za pridobivanje lastnih ključev.
Vrnjena vrednost:
- Ta metoda vedno vrne matriko lastnih ključev lastnosti ciljnega objekta.
primer: V tem primeru uporabljamo Reflect.ownKeys()>
inincludes()>
metoda.
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.`); }>
Izhod
key2 exists in the JSON object.>
Uporaba Object.getOwnPropertySymbols()>
in includes()>
metoda
The Object.getOwnPropertySymbols()>
metoda v JavaScriptu je standardni vgrajeni objekt, ki vrne matriko vseh lastnosti simbola, ki so prisotne v danem objektu. Vrne se prazna matrika, dokler za objekt niso nastavljene lastnosti simbola.
Sintaksa:
Object.getOwnPropertySymbols(obj);>
Parametri:
- predmet: Ta parameter je objekt, katerega lastnosti simbola naj bodo vrnjene.
Vrnjena vrednost:
- Ta metoda vrne niz vseh lastnosti simbola, ki ustrezajo lastnostim, najdenim neposredno v danem objektu.
primer: V tem primeru smo u peti Object.getOwnPropertySymbols()>
in includes()>
metoda
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.`); }>
Izhod
Symbol(key2) does not exist in the JSON object.>
Uporaba Object.getOwnPropertyNames()>
in includes()>
metoda
The Object.getOwnPropertyNames()>
metoda v JavaScriptu je standardni vgrajeni objekt, ki vrne vse lastnosti, ki so prisotne v danem objektu, razen tistih neštetih lastnosti, ki temeljijo na simbolih.
Sintaksa:
Object.getOwnPropertyNames(obj);>
Parametri:
Ta metoda sprejme en sam parameter, kot je omenjeno zgoraj in opisano spodaj:
- predmet: Ta parameter vsebuje objekt, katerega naštevne in nenaštevne lastnosti je treba vrniti.
Vrnjena vrednost:
- Ta metoda vrne matriko nizov, ki ustreza lastnostim, najdenim neposredno v danem objektu.
primer: V tem primeru uporabljamo metodo Object.getOwnPropertyNames() in 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.`); }>
Izhod
key2 exists in the JSON object.>
Uporaba Object.keys()>
in includes()>
metoda
The Object.keys()>
metoda v JavaScriptu se uporablja za pridobivanje niza naštevnih imen lastnosti predmeta. Vrne matriko, ki vsebuje ključe predmeta.
Sintaksa:
Object.keys(obj);>
Parameter:
- obj : To je objekt, katerega naštevne lastnosti je treba vrniti.
Povratna vrednost:
- Vrne matriko nizov, ki predstavljajo vse naštevne lastnosti danega predmeta.
primer: V tem primeru uporabljamo metodo Object.keys() in 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.`); }>
Izhod
key2 exists in the JSON object.>