„JavaScript“ objektų iteracijos tyrinėjimas
„JavaScript“ objektai yra labai svarbūs saugant ir tvarkant duomenis raktų ir reikšmių porose. Dirbant su šiais objektais, norint pasiekti raktus ir reikšmes, dažnai reikia peržiūrėti jų savybes.
Ši instrukcija padės jums atlikti įvairius „JavaScript“ objekto savybių surašymo būdus. Nesvarbu, ar JavaScript naudojate naujokas, ar norite patobulinti savo įgūdžius, norint efektyviai koduoti, būtina suprasti šiuos metodus.
komandą | apibūdinimas |
---|---|
for...in | Peržiūri daugybę objekto savybių. |
hasOwnProperty() | Patikrina, ar objektas turi nurodytą nuosavybę kaip savo nuosavybę. |
Object.keys() | Pateikia objekto suskaičiuojamų ypatybių pavadinimų masyvą. |
forEach() | Kiekvienam masyvo elementui vieną kartą vykdo pateiktą funkciją. |
Object.entries() | Grąžina masyvą, sudarytą iš paties objekto suskaitomų eilutės raktų savybių [raktas, reikšmė] porų. |
„JavaScript“ objektų iteracijos metodų supratimas
Pateikti scenarijai siūlo skirtingus metodus, kaip kartoti JavaScript objekto savybes. Pirmasis scenarijus naudoja a for...in kilpa, kuri kartoja visas nesuskaičiuojamas objekto savybes. Šioje kilpoje hasOwnProperty() metodas patikrina, ar objektas turi nurodytą nuosavybę kaip savo nuosavybę, užtikrindamas, kad paveldėtos savybės nebūtų įtrauktos. Šis metodas yra naudingas, kai reikia atlikti operacijas su kiekviena objekto ypatybe, pvz., registruoti arba keisti reikšmes.
Antrasis scenarijus naudoja Object.keys() metodas, kuris grąžina objekto suskaičiuojamų savybių pavadinimų masyvą. The forEach() Tada metodas naudojamas kartoti šį masyvą, suteikiant paprastesnį ir lengviau skaitomą metodą, palyginti su for...in kilpa. Trečiasis scenarijus naudoja Object.entries(), kuris grąžina objekto masyvą, sudarytą iš paties objekto sunumeruojamų eilutės raktų savybių [raktas, reikšmė] porų. A for...of Šioms poroms kartoti naudojama kilpa, siūlanti glaustą būdą vienu metu pasiekti ir raktus, ir reikšmes.
Perėjimas per „JavaScript“ objektų ypatybes
JavaScript ES6 metodų naudojimas
const p = {"p1": "value1", "p2": "value2", "p3": "value3"};
for (const key in p) {
if (p.hasOwnProperty(key)) {
console.log(key + ": " + p[key]);
}
}
Objekto raktų ir reikšmių kartojimas JavaScript
„JavaScript“ objektų metodų naudojimas
const p = {"p1": "value1", "p2": "value2", "p3": "value3"};
Object.keys(p).forEach(key => {
console.log(key + ": " + p[key]);
});
Objektų raktų ir reikšmių ištraukimas JavaScript
Naudojant JavaScript Object.entries() metodą
const p = {"p1": "value1", "p2": "value2", "p3": "value3"};
for (const [key, value] of Object.entries(p)) {
console.log(key + ": " + value);
}
Pažangūs „JavaScript“ objektų kartojimo būdai
Be anksčiau aprašytų metodų, kita naudinga „JavaScript“ objektų kartojimo technika yra naudoti Object.values() metodas. Šis metodas grąžina objekto suskaičiuojamų savybių reikšmių masyvą. Tai ypač naudinga, kai reikia tik verčių, o ne raktų. Tada galite naudoti forEach() arba kitais masyvo metodais šioms reikšmėms apdoroti. Šis metodas supaprastina scenarijus, kai raktai yra nesusiję su atliekama užduotimi.
Kitas pažangus metodas naudojamas Reflect.ownKeys(), kuris grąžina visų ypatybių masyvą, įskaitant neįskaitomas ir simbolių savybes. Šis metodas yra išsamesnis nei Object.keys() ir Object.getOwnPropertyNames(). Kai derinama su for...of, tai leidžia kūrėjams vieningai kartoti visas objekto savybes. Supratus šiuos išplėstinius metodus, išplečiamas įrankių rinkinys, skirtas dirbti su sudėtingais objektais, ir užtikrinama, kad galėsite efektyviai tvarkyti įvairius iteracijos scenarijus.
Dažni klausimai apie „JavaScript“ objektų iteraciją
- Kaip peržiūrėti objekto savybes?
- Galite naudoti a for...in kilpa arba Object.keys() su forEach().
- Koks skirtumas tarp Object.keys() ir Object.values()?
- Object.keys() grąžina savybių pavadinimų masyvą, o Object.values() grąžina nuosavybės verčių masyvą.
- Kaip gauti objekto raktus ir reikšmes?
- Naudokite Object.entries() norėdami gauti [raktas, reikšmė] porų masyvą, tada kartokite su for...of.
- Ar galiu kartoti nesuskaičiuojamas savybes?
- Taip, naudoti Object.getOwnPropertyNames() arba Reflect.ownKeys() įtraukti nesuskaičiuojamas savybes.
- Kaip patikrinti, ar turtas yra paties objekto nuosavybė?
- Naudokite hasOwnProperty() per kilpą, kad turtas nebūtų paveldėtas.
- Kaip kartoti objekto simbolius?
- Naudokite Object.getOwnPropertySymbols() gauti simbolių savybių masyvą.
- Koks yra geriausias būdas kartoti objekto savybes?
- Tai priklauso nuo jūsų poreikių. Naudokite for...in dėl paprastumo, Object.keys() dėl konkrečių nuosavybės pavadinimų ir Object.entries() ir raktams, ir reikšmėms.
„JavaScript“ objektų iteracijos užbaigimas
Norint efektyviai kartoti „JavaScript“ objektus, reikia suprasti skirtingus metodus ir tinkamus jų naudojimo atvejus. Iš paprasto for...in kilpos prie pažangesnių technikų Object.entries() ir Reflect.ownKeys(), kiekvienas metodas turi savo privalumų. Šių metodų įvaldymas pagerins jūsų gebėjimą valdyti įvairius programavimo scenarijus, užtikrinant, kad galėsite efektyviai valdyti ir manipuliuoti „JavaScript“ programų objektų ypatybėmis.