JavaScriptissä työskentely JSON-objektien (JavaScript Object Notation) -objektien kanssa on yleistä, ja usein saatat joutua tarkistamaan, onko objektissa tietty avain. Tässä artikkelissa kerrotaan erilaisista menetelmistä tämän tehtävän suorittamiseksi tehokkaasti.
JSON-objektit, joille on tunnusomaista niiden avain-arvo-parit, ovat monipuolisia tietorakenteita, joita käytetään tiedon tallentamiseen ja siirtämiseen. Tietyn avaimen olemassaolon määrittäminen tällaisissa objekteissa on kuitenkin ratkaisevan tärkeää ehdollisten toimintojen suorittamisen tai sisäkkäisten tietojen käyttämisen kannalta.
Alla on menetelmiä tarkistaa, onko JSON-objektin sisällä avain:
Sisällysluettelo
- JavaScript hasOwnProperty() -menetelmä
- Käyttö Operatorissa
- Reflect.ownKeys() and include() -metodin käyttäminen
- Object.getOwnPropertySymbols() and include()-metodin käyttäminen
- Object.getOwnPropertyNames() and include()-metodin käyttäminen
- Object.keys()- ja include()-metodin käyttäminen
1. JavaScript hasOwnProperty() -menetelmä
JavaScript hasOwnProperty() -menetelmä palauttaa loogisen arvon, joka ilmaisee, onko objektilla määritetty ominaisuus omana ominaisuutensa (eikä periä sitä).
Syntaksi:
obj.hasOwnProperty(prop);>
Parametrit:
- prop: Tämä parametri on pakollinen. Se määrittää tarkistettavan ominaisuuden merkkijonon nimen tai symbolin.
Palautusarvo:
Se palauttaa loogisen arvon, joka osoittaa, onko objektilla annettu ominaisuus omana ominaisuutenaan.
Esimerkki 1: Tämä esimerkki tarkistaa prop_1 -lta obj käyttämällä hasOwnProperty-ominaisuus .
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()>
Lähtö
let 'obj' has prop_1 property>
Esimerkki 2: Tämä esimerkki tarkistaa pro_1 -lta obj yksinkertaisella matriisikäytöllä.
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()>
Lähtö
let 'obj' has not pro_1 property>
Käyttämälläin>
Operaattori
JavaScript in>
Operaattori on sisäänrakennettu operaattori, jota käytetään tarkistamaan, onko objektissa tietty ominaisuus vai ei. Se palauttaa loogisen arvon totta jos määritetty ominaisuus on objektissa, muussa tapauksessa se palauttaa väärä .
Syntaksi:
prop in object>
Parametrit:
- prop : Tämä parametri sisältää merkkijonon tai symbolin, joka edustaa ominaisuuden nimeä tai taulukkoindeksiä.
- esine: Tämä parametri on objekti, joka on tarkistettava, sisältääkö se prop.
Palautusarvo:
Tämä menetelmä palauttaa loogisen arvon. Arvo totta palautetaan jos määritetty ominaisuus on löytyi objektissa, muuten se palauttaa epätosi.
Esimerkki: Tässä esimerkissä käytämmein>
Operaattori.
// 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.'); }>
Lähtö
The key 'age' exists in the JSON object.>
KäyttämälläReflect.ownKeys()>
jaincludes()>
menetelmä
JaScript Reflect.ownKeys()>
Javascriptin menetelmää käytetään palauttamaan kohdeobjektin omien ominaisuusavaimien joukko ja se jättää huomioimatta perityt ominaisuudet.
Syntaksi:
Reflect.ownKeys( obj );>
Parametrit:
- Kohde: Tämä parametri sisältää kohdeobjektin ja sitä käytetään hankkimaan omat avaimet.
Palautusarvo:
- Tämä menetelmä palauttaa aina kohdeobjektin omien ominaisuusavainten taulukon.
Esimerkki: Tässä esimerkissä käytämme Reflect.ownKeys()>
jaincludes()>
menetelmä.
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.`); }>
Lähtö
key2 exists in the JSON object.>
Käyttämällä Object.getOwnPropertySymbols()>
ja includes()>
menetelmä
The Object.getOwnPropertySymbols()>
menetelmä JavaScriptissä on tavallinen sisäänrakennettu objekti, joka palauttaa joukon kaikista tietyssä objektissa esiintyvistä symboliominaisuuksista. Tyhjä taulukko palautetaan, kunnes symbolin ominaisuudet on asetettu objektille.
Syntaksi:
Object.getOwnPropertySymbols(obj);>
Parametrit:
- obj: Tämä parametri on objekti, jonka symboliominaisuudet palautetaan.
Palautusarvo:
- Tämä menetelmä palauttaa joukon kaikista symboliominaisuuksista, jotka vastaavat suoraan annetusta objektista löytyviä ominaisuuksia.
Esimerkki: Tässä esimerkissä olemme u laulaa Object.getOwnPropertySymbols()>
ja includes()>
menetelmä
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.`); }>
Lähtö
Symbol(key2) does not exist in the JSON object.>
Käyttämällä Object.getOwnPropertyNames()>
ja includes()>
menetelmä
The Object.getOwnPropertyNames()>
menetelmä JavaScriptissä on standardi sisäänrakennettu objekti, joka palauttaa kaikki ominaisuudet, jotka ovat tietyssä objektissa, lukuun ottamatta symbolipohjaisia ei-numeroitavia ominaisuuksia.
Syntaksi:
Object.getOwnPropertyNames(obj);>
Parametrit:
Tämä menetelmä hyväksyy yhden edellä mainitun ja alla kuvatun parametrin:
- obj: Tämä parametri pitää sisällään objektin, jonka numeroitavat ja ei-numeroitavat ominaisuudet palautetaan.
Palautusarvo:
- Tämä menetelmä palauttaa joukon merkkijonoja, jotka vastaavat suoraan annetun objektin ominaisuuksia.
Esimerkki: Tässä esimerkissä käytämme Object.getOwnPropertyNames() and include() -metodia.
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.`); }>
Lähtö
key2 exists in the JSON object.>
Käyttämällä Object.keys()>
ja includes()>
menetelmä
The Object.keys()>
menetelmä JavaScriptissä käytetään hakemaan objektin numeroitavien ominaisuuksien nimiä. Se palauttaa taulukon, joka sisältää objektin avaimet.
Syntaksi:
Object.keys(obj);>
Parametri:
- obj : Se on objekti, jonka luetellut ominaisuudet palautetaan.
Palautusarvo:
- Se palauttaa joukon merkkijonoja, jotka edustavat kaikkia tietyn objektin lueteltuja ominaisuuksia.
Esimerkki: Tässä esimerkissä käytämme Object.keys() and include() -metodia
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.`); }>
Lähtö
key2 exists in the JSON object.>