V JavaScriptu je práce s objekty JSON (JavaScript Object Notation) běžná a často budete muset zkontrolovat, zda v objektu existuje určitý klíč. Tento článek popisuje různé metody, jak tento úkol efektivně provést.
Objekty JSON, charakterizované svými páry klíč-hodnota, jsou univerzální datové struktury používané pro ukládání a přenos dat. Určení přítomnosti konkrétního klíče v takových objektech je však klíčové pro provádění podmíněných operací nebo přístup k vnořeným datům.
Níže jsou uvedeny metody, jak zkontrolovat, zda klíč existuje uvnitř objektu JSON:
Obsah
- Metoda JavaScript hasOwnProperty().
- Použití v operátoru
- Použití metody Reflect.ownKeys() a include().
- Pomocí metody Object.getOwnPropertySymbols() a include().
- Pomocí metody Object.getOwnPropertyNames() a include().
- Použití metody Object.keys() a include().
1. Metoda JavaScript hasOwnProperty().
Metoda JavaScript hasOwnProperty(). vrací boolean označující, zda má objekt definovanou vlastnost jako svou vlastní vlastnost (na rozdíl od zdědění).
Syntax:
obj.hasOwnProperty(prop);>
Parametry:
- podpěra: Tento parametr je povinný. Určuje název řetězce nebo Symbol vlastnosti, kterou chcete zkontrolovat.
Návratová hodnota:
Vrací booleovskou hodnotu udávající, zda má objekt danou vlastnost jako svou vlastní.
Příklad 1: Tento příklad kontroluje prop_1 z obj používáním vlastnost hasOwnProperty .
parciální derivační latexJavascript
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()>
Výstup
let 'obj' has prop_1 property>
Příklad 2: Tento příklad kontroluje pro_1 z obj jednoduchým přístupem k poli.
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()>
Výstup
let 'obj' has not pro_1 property>
Použitímin>
Operátor
JavaScript in>
Operátor je vestavěný operátor, který se používá ke kontrole, zda určitá vlastnost v objektu existuje nebo ne. Vrací booleovskou hodnotu skutečný pokud je zadaná vlastnost v objektu, jinak se vrátí Nepravdivé .
Syntax:
prop in object>
Parametry:
- podpěra : Tento parametr obsahuje řetězec nebo symbol, který představuje název vlastnosti nebo index pole.
- objekt: Tento parametr je objekt, u kterého je třeba zkontrolovat, zda obsahuje podpěra.
Návratová hodnota:
Tato metoda vrací booleovskou hodnotu. Hodnota skutečný je vráceno pokud je zadaná vlastnost nalezeno v objektu, jinak vrací false.
Příklad: V tomto příkladu používámein>
Operátor.
// 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.'); }>
Výstup
The key 'age' exists in the JSON object.>
PoužitímReflect.ownKeys()>
aincludes()>
metoda
JaScript Reflect.ownKeys()>
metoda v Javascriptu se používá k vrácení pole vlastních klíčů vlastností cílového objektu a ignoruje zděděné vlastnosti.
Syntax:
Reflect.ownKeys( obj );>
Parametry:
- objekt: Tento parametr obsahuje cílový objekt a používá se k získání jeho vlastních klíčů.
Návratová hodnota:
- Tato metoda vždy vrací pole vlastních klíčů vlastností cílového objektu.
Příklad: V tomto příkladu používáme Reflect.ownKeys()>
aincludes()>
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.`); }>
Výstup
key2 exists in the JSON object.>
Použitím Object.getOwnPropertySymbols()>
a includes()>
metoda
The Object.getOwnPropertySymbols()>
metoda v JavaScriptu je standardní vestavěný objekt, který vrací pole všech vlastností symbolu, které jsou přítomny v daném objektu. Prázdné pole je vráceno, dokud se na objektu nenastaví vlastnosti symbolu.
Syntax:
Object.getOwnPropertySymbols(obj);>
Parametry:
- obj: Tento parametr je objekt, jehož vlastnosti symbolu mají být vráceny.
Návratová hodnota:
- Tato metoda vrací pole všech vlastností symbolu, které odpovídají vlastnostem nalezeným přímo v daném objektu.
Příklad: V tomto příkladu jsme u zpívat Object.getOwnPropertySymbols()>
a 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.`); }>
Výstup
Symbol(key2) does not exist in the JSON object.>
Použitím Object.getOwnPropertyNames()>
a includes()>
metoda
The Object.getOwnPropertyNames()>
metoda v JavaScriptu je standardní vestavěný objekt, který vrací všechny vlastnosti, které jsou přítomné v daném objektu, kromě těch nevyčíslitelných vlastností založených na symbolech.
Syntax:
Object.getOwnPropertyNames(obj);>
Parametry:
Tato metoda přijímá jeden parametr, jak je uvedeno výše a popsáno níže:
- obj: Tento parametr obsahuje objekt, jehož vyčíslitelné a nevyčíslitelné vlastnosti mají být vráceny.
Návratová hodnota:
- Tato metoda vrací pole řetězců, které odpovídá vlastnostem nalezeným přímo v daném objektu.
Příklad: V tomto příkladu používáme metodu Object.getOwnPropertyNames() a 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.`); }>
Výstup
key2 exists in the JSON object.>
Použitím Object.keys()>
a includes()>
metoda
The Object.keys()>
metoda v JavaScriptu se používá k načtení pole vyčíslitelných názvů vlastností objektu. Vrací pole obsahující klíče objektu.
Syntax:
Object.keys(obj);>
Parametr:
- obj : Je to objekt, jehož vyčíslitelné vlastnosti mají být vráceny.
Návratová hodnota:
- Vrací pole řetězců, které představují všechny vyčíslitelné vlastnosti daného objektu.
Příklad: V tomto příkladu používáme metodu Object.keys() a include().
Kat timpfJavascript
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.`); }>
Výstup
key2 exists in the JSON object.>