JavaScript Patikrinkite, ar JSON objekte yra raktas
Naudojant „JavaScript“, darbas su JSON („JavaScript Object Notation“) objektais yra įprastas, todėl dažnai gali tekti patikrinti, ar objekte yra tam tikras raktas. Šiame straipsnyje bus aprašyti įvairūs būdai, kaip efektyviai atlikti šią užduotį.
JSON objektai, pasižymintys jų raktų ir reikšmių poromis, yra universalios duomenų struktūros, naudojamos duomenims saugoti ir perduoti. Tačiau norint atlikti sąlygines operacijas arba pasiekti įdėtus duomenis, labai svarbu nustatyti konkretaus rakto buvimą tokiuose objektuose.
Toliau pateikiami būdai, kaip patikrinti, ar JSON objekte yra raktas:
Turinys
- „JavaScript“ turi „OwnProperty()“ metodą
- Naudojimas Operatoriuje
- Naudojant Reflect.ownKeys() and include() metodą
- Naudojant Object.getOwnPropertySymbols() and include() metodą
- Naudojant Object.getOwnPropertyNames() and include() metodą
- Naudojant Object.keys() and include() metodą
1. JavaScript hasOwnProperty() metodas
„JavaScript“ turi „OwnProperty()“ metodą grąžina loginį dydį, nurodantį, ar objektas turi apibrėžtą ypatybę kaip savo nuosavybę (priešingai nei paveldi).
Sintaksė:
obj.hasOwnProperty(prop);
Parametrai:
- rekvizitas: Šis parametras yra būtinas. Jame nurodomas tikrintinos nuosavybės eilutės pavadinimas arba simbolis.
Grąžinimo vertė:
Jis grąžina loginę reikšmę, nurodant, ar objektas turi nurodytą ypatybę kaip savo nuosavybę.
1 pavyzdys: Šis pavyzdys patikrina prop_1 iš obj naudojant hasOwnProperty nuosavybė .
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() Išvestis
let 'obj' has prop_1 property
2 pavyzdys: Šis pavyzdys patikrina pro_1 iš obj naudojant paprastą masyvo prieigą.
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() Išvestis
let 'obj' has not pro_1 property
Naudojant in> operatorius
JavaScript in> operatorius yra integruotas operatorius, naudojamas patikrinti, ar objekte yra tam tikra savybė, ar ne. Tai grąžina loginę reikšmę tiesa jei nurodyta savybė yra objekte, kitu atveju ji grąžinama klaidinga .
Sintaksė:
prop in object
Parametrai:
- prop : Šiame parametre yra eilutė arba simbolis, nurodantis nuosavybės pavadinimą arba masyvo indeksą.
- objektas: Šis parametras yra objektas, kurį reikia patikrinti, ar jame yra prop.
Grąžinimo vertė:
Šis metodas grąžina loginę reikšmę. Vertė tiesa yra grąžinamas jei nurodytas turtas yra rasta objekte, kitaip jis grąžina klaidingą.
Pavyzdys: Šiame pavyzdyje mes naudojame in> Operatorius.
// 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.'); } Išvestis
The key 'age' exists in the JSON object.
Naudojant Reflect.ownKeys()> ir includes()> metodas
JaScript Reflect.ownKeys()> „Javascript“ metodas naudojamas norint grąžinti paties objekto nuosavybės raktų masyvą ir nepaiso paveldėtų savybių.
Sintaksė:
Reflect.ownKeys( obj );
Parametrai:
- Objektas: Šis parametras turi tikslinį objektą ir jis naudojamas savo raktams gauti.
Grąžinimo vertė:
- Šis metodas visada grąžina tikslinio objekto nuosavybės raktų masyvą.
Pavyzdys: Šiame pavyzdyje mes naudojame Reflect.ownKeys()> ir includes()> metodas.
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.`); } Išvestis
key2 exists in the JSON object.
Naudojant Object.getOwnPropertySymbols()> ir includes()> metodas
The Object.getOwnPropertySymbols()> metodas „JavaScript“ yra standartinis integruotas objektas, kuris grąžina visų simbolių ypatybių, esančių tam tikrame objekte, masyvą. Grąžinamas tuščias masyvas, kol objekte nustatomos simbolio savybės.
Sintaksė:
Object.getOwnPropertySymbols(obj);
Parametrai:
- obj: Šis parametras yra objektas, kurio simbolio savybės turi būti grąžintos.
Grąžinimo vertė:
- Šis metodas grąžina visų simbolių savybių masyvą, atitinkantį tiesiogiai nurodytame objekte esančias savybes.
Pavyzdys: Šiame pavyzdyje mes esame u dainuoti Object.getOwnPropertySymbols()> ir includes()> metodas
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.`); } Išvestis
Symbol(key2) does not exist in the JSON object.
Naudojant Object.getOwnPropertyNames()> ir includes()> metodas
The Object.getOwnPropertyNames()> metodas „JavaScript“ yra standartinis integruotas objektas, kuris grąžina visas tam tikrame objekte esančias ypatybes, išskyrus tas simboliais pagrįstas nesuskaičiuojamas ypatybes.
Sintaksė:
Object.getOwnPropertyNames(obj);
Parametrai:
Šis metodas priima vieną parametrą, kaip minėta pirmiau ir aprašyta toliau:
- obj: Šis parametras turi objektą, kurio suskaičiuojamos ir neišvardijamos savybės turi būti grąžintos.
Grąžinimo vertė:
- Šis metodas grąžina eilučių masyvą, atitinkantį tiesiogiai nurodytame objekte esančias savybes.
Pavyzdys: Šiame pavyzdyje mes naudojame Object.getOwnPropertyNames() and include() metodą.
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.`); } Išvestis
key2 exists in the JSON object.
Naudojant Object.keys()> ir includes()> metodas
The Object.keys()> metodas „JavaScript“ yra naudojamas norint gauti objekto suskaičiuojamų savybių pavadinimų masyvą. Jis grąžina masyvą, kuriame yra objekto raktai.
Sintaksė:
Object.keys(obj);
Parametras:
- obj : Tai objektas, kurio nesuskaičiuojamos savybės turi būti grąžintos.
Grąžinimo vertė:
- Jis grąžina eilučių masyvą, atspindintį visas nurodyto objekto ypatybes.
Pavyzdys: Šiame pavyzdyje mes naudojame Object.keys() and include() metodą
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.`); } Išvestis
key2 exists in the JSON object.