Perėjimas per „JavaScript“ objektų ypatybes

JavaScript

„JavaScript“ objektų iteracijos tyrinėjimas

„JavaScript“ objekto ypatybių peržiūra yra įprasta užduotis, su kuria susiduria kūrėjai. Nesvarbu, ar jums reikia pasiekti raktus, reikšmes ar abu, labai svarbu suprasti, kaip efektyviai išvardyti objekto ypatybes.

Šiame straipsnyje išnagrinėsime įvairius metodus, kaip kartoti objekto elementus. Galų gale turėsite žinių, kaip lengvai tvarkyti objektų išvardijimą, užtikrinant, kad jūsų JavaScript kodas būtų efektyvus ir skaitomas.

komandą apibūdinimas
for...in Peržiūri objekto savybes, kartodamas visas išvardytas savybes.
hasOwnProperty() Patikrina, ar objektas turi nurodytą nuosavybę kaip tiesioginę nuosavybę, o ne paveldėtas per prototipo grandinę.
Object.entries() Grąžina konkretaus objekto suskaičiuojamų savybių [raktas, reikšmė] porų masyvą.
Object.keys() Pateikia objekto suskaičiuojamų ypatybių pavadinimų masyvą.
Object.values() Pateikia paties objekto suskaičiuojamų savybių reikšmių masyvą.
forEach() Kiekvienam masyvo elementui vieną kartą vykdo pateiktą funkciją.

„JavaScript“ objektų iteracijos metodų supratimas

The kilpa yra pagrindinė „JavaScript“ konstrukcija, naudojama kartoti daugybę objekto savybių. Scenarijaus pavyzdyje naudojamas norint pereiti per kiekvieną objekto ypatybę . Ciklo viduje, hasOwnProperty() naudojamas siekiant užtikrinti, kad nuosavybė būtų tiesioginė objekto nuosavybė, o ne paveldėta iš jo prototipų grandinės. Tai labai svarbu norint išvengti nenumatytų rezultatų, kai objektas paveldi savybes. Tada ciklas registruoja kiekvienos nuosavybės raktą ir vertę , efektyviai išvardijantis objekto savybes.

Kitas parodytas metodas yra naudojimas , kuris grąžina paties objekto suskaičiuojamų savybių [raktas, reikšmė] porų masyvą. Tada šis masyvas kartojamas naudojant , patogus masyvo metodas, kuris kiekvienam masyvo elementui vieną kartą vykdo pateiktą funkciją. Šis metodas supaprastina kodą, kiekvienoje iteracijoje tiesiogiai pasiekiant raktą ir reikšmę, todėl surašymo procesas tampa nesudėtingas ir skaitomas. The metodas veikia panašiai, bet grąžina tik raktus, kurie vėliau naudojami norint pasiekti atitinkamas reikšmes forEach() kilpa.

Papildomai, yra dar vienas naudingas metodas, grąžinantis objekto reikšmių masyvą. Pakartodami šį masyvą su , galime tiesiogiai pasiekti ir užregistruoti kiekvieną reikšmę. Šie metodai –, Object.entries(), , ir – yra galingi įrankiai, skirti tvarkyti objektus JavaScript. Jie suteikia lankstumo, kaip pasiekti objekto savybes ir jais manipuliuoti, tenkinant skirtingus poreikius ir pageidavimus. Kiekvienas metodas turi savo privalumų, o jų supratimas leidžia kūrėjams pasirinkti tinkamiausią jų konkrečiam naudojimo atvejui, užtikrinant efektyvų ir efektyvų kodo vykdymą.

Objekto savybių kartojimas naudojant for...in Loop

JavaScript – for...in Loop

var p = {"p1":"value1","p2":"value2","p3":"value3"};
for (var key in p) {
  if (p.hasOwnProperty(key)) {
    console.log(key + " -> " + p[key]);
  }
}
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

Perėjimas per objektų raktus ir reikšmes naudojant Object.entries()

JavaScript – Object.entries()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.entries(p).forEach(([key, value]) => {
  console.log(key + " -> " + value);
});
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

Objekto savybių išvardijimas naudojant Object.keys()

JavaScript – Object.keys()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.keys(p).forEach(key => {
  console.log(key + " -> " + p[key]);
});
// Output:
// p1 -> value1
// p2 -> value2
// p3 -> value3

Iteravimas per objekto reikšmes naudojant Object.values()

JavaScript – Object.values()

var p = {"p1":"value1","p2":"value2","p3":"value3"};
Object.values(p).forEach(value => {
  console.log(value);
});
// Output:
// value1
// value2
// value3

Pasinerkite į „JavaScript“ objektų iteraciją

Kitas veiksmingas būdas valdyti objektų iteraciją „JavaScript“ yra naudoti objektas. Skirtingai nuo įprastų objektų, objektai leidžia saugoti raktų ir reikšmių poras, kur raktai gali būti bet kokio tipo duomenų. Šis lankstumas gali būti ypač naudingas tais atvejais, kai reikia susieti sudėtingus raktus, pvz., objektus ar funkcijas, su reikšmėmis. Galite lengvai kartoti per a naudojant įmontuotus metodus, pvz Map.prototype.forEach(), , ir , suteikianti nuoseklią ir nuspėjamą iteracijos tvarką, kuri yra įterpimo tvarka.

Be to , „JavaScript“ taip pat siūlo , kuris yra panašus, bet su raktais, kurių nuoroda yra silpna, o tai reiškia, kad jie netrukdo rinkti šiukšles, jei nėra kitų nuorodų į objektą. Tai gali padėti veiksmingiau valdyti atmintį tam tikrose programose. Abu ir WeakMap pateikti patikimą metodų rinkinį, skirtą valdyti raktų ir reikšmių porų rinkinius. Nors jie nėra tiesioginis paprastų objektų pakaitalas, jie suteikia unikalių pranašumų lankstumo ir atminties valdymo požiūriu, kuriuos galima panaudoti sudėtingesnėse duomenų struktūrose ir algoritmuose.

  1. Kaip galiu kartoti objekto savybes „JavaScript“?
  2. Tu gali naudoti , , , arba Object.entries() kartoti objekto savybes.
  3. Koks skirtumas tarp ir ?
  4. kartoja visas išvardytas savybes, įskaitant tas, kurios buvo paveldėtos per prototipo grandinę grąžina tik paties objekto suskaičiuojamas savybes.
  5. Kaip dirbti?
  6. grąžina objekto suskaičiuojamų savybių [raktas, reikšmė] porų masyvą, kurį galima pakartoti naudojant kilpa.
  7. Ar galiu naudoti tiesiai ant objekto?
  8. ne, yra masyvų metodas, tačiau galite jį naudoti grąžinamuose masyvuose , , arba Object.entries().
  9. Kas yra ir ?
  10. leidžia naudoti bet kokio tipo raktus ir palaiko įterpimo tvarką. turi raktus, kurių nuoroda yra silpna ir kuriuos galima rinkti šiukšles.
  11. Kaip daryti ir skiriasi?
  12. Jie veikia panašiai, bet kartojasi per žemėlapio įrašus (rakto-reikšmių poras), tuo tarpu kartojasi per masyvo elementus.
  13. Kodėl naudoti ?
  14. Naudokite kai reikia kartoti objekto savybių reikšmes tiesiogiai.

Norint efektyviai programuoti, būtina įvaldyti objektų iteraciją JavaScript. Naudojant tokius metodus kaip , , , ir Object.entries(), kūrėjai gali efektyviai pasiekti objekto ypatybes ir jomis manipuliuoti. Šie metodai suteikia lankstumo ir užtikrina, kad jūsų kodas išliktų švarus, efektyvus ir lengvai suprantamas. Nesvarbu, ar dirbate su paprastais ar sudėtingais objektais, žinant šiuos metodus, patobulinsite kodavimo įgūdžius ir optimizuosite „JavaScript“ programas.