Pārlūkošana, izmantojot JavaScript objektu rekvizītus

JavaScript

JavaScript objektu iterācijas izpēte

JavaScript objekta rekvizītu apskate ir izplatīts uzdevums, ar kuru saskaras izstrādātāji. Neatkarīgi no tā, vai jums ir jāpiekļūst atslēgām, vērtībām vai abiem, ir ļoti svarīgi saprast, kā efektīvi uzskaitīt objekta rekvizītus.

Šajā rakstā mēs izpētīsim dažādas metodes, kā atkārtot objekta elementus. Beigās jūs būsiet aprīkots ar zināšanām, lai viegli apstrādātu objektu uzskaitīšanu, nodrošinot, ka jūsu JavaScript kods ir gan efektīvs, gan lasāms.

Komanda Apraksts
for...in Pārvietojas cauri objekta īpašībām, atkārtojot visas uzskaitāmās īpašības.
hasOwnProperty() Pārbauda, ​​vai objektam ir norādītais īpašums kā tiešs īpašums, kas nav mantots prototipa ķēdē.
Object.entries() Atgriež paša dotā objekta uzskaitāmo rekvizītu [atslēga, vērtība] pāru masīvu.
Object.keys() Atgriež paša dotā objekta uzskaitāmo rekvizītu nosaukumu masīvu.
Object.values() Atgriež paša dotā objekta uzskaitāmo rekvizītu vērtību masīvu.
forEach() Katram masīva elementam vienu reizi izpilda sniegto funkciju.

Izpratne par JavaScript objektu iterācijas metodēm

The cilpa ir pamata JavaScript konstrukcija, ko izmanto, lai atkārtotu objekta neskaitāmās īpašības. Skripta piemērā tiek izmantots, lai izietu cauri katrai objekta īpašībai . Cikla ietvaros hasOwnProperty() tiek izmantots, lai nodrošinātu, ka īpašums ir tiešs objekta īpašums, nevis mantots no tā prototipa ķēdes. Tas ir ļoti svarīgi, lai izvairītos no neparedzētiem rezultātiem, kad objekts pārmanto īpašības. Pēc tam cilpa reģistrē katra īpašuma atslēgu un vērtību, izmantojot , efektīvi uzskaitot objekta īpašības.

Vēl viena demonstrētā metode ir izmantošana , kas atgriež paša objekta uzskaitāmo rekvizītu [atslēga, vērtība] pāru masīvu. Pēc tam šis masīvs tiek atkārtots, izmantojot , ērta masīva metode, kas katram masīva elementam vienu reizi izpilda sniegto funkciju. Šī metode vienkāršo kodu, katrā iterācijā tieši piekļūstot gan atslēgai, gan vērtībai, padarot uzskaites procesu vienkāršu un lasāmu. The metode darbojas līdzīgi, bet atgriež tikai atslēgas, kuras pēc tam tiek izmantotas, lai piekļūtu attiecīgajām vērtībām forEach() cilpa.

Papildus, ir vēl viena noderīga metode, kas atgriež objekta vērtību masīvu. Atkārtojot šo masīvu ar , mēs varam tieši piekļūt katrai vērtībai un reģistrēt to. Šīs metodes -, Object.entries(), , un — ir spēcīgi rīki objektu apstrādei JavaScript. Tie nodrošina elastību, piekļūstot objekta rekvizītiem un ar tiem manipulējot, apmierinot dažādas vajadzības un preferences. Katrai metodei ir savas priekšrocības, un to izpratne ļauj izstrādātājiem izvēlēties savam konkrētajam lietošanas gadījumam atbilstošāko, nodrošinot efektīvu un iedarbīgu koda izpildi.

Objekta rekvizītu atkārtošana, izmantojot 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

Cilpas caur objektu atslēgām un vērtībām, izmantojot 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

Objekta rekvizītu uzskaitīšana, izmantojot 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

Atkārtošana, izmantojot objektu vērtības, izmantojot 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

Iedziļināties JavaScript objektu iterācijā

Vēl viens spēcīgs veids, kā apstrādāt objektu iterāciju JavaScript, ir izmantot objektu. Atšķirībā no parastajiem objektiem, objekti ļauj saglabāt atslēgu-vērtību pārus, kur atslēgas var būt jebkura veida datu. Šī elastība var būt īpaši noderīga gadījumos, kad sarežģītas atslēgas, piemēram, objekti vai funkcijas, ir jāsaista ar vērtībām. Jūs varat viegli atkārtot a izmantojot tās iebūvētās metodes, piemēram Map.prototype.forEach(), , un , nodrošinot konsekventu un paredzamu iterācijas secību, kas ir ievietošanas secība.

Papildus , piedāvā arī JavaScript , kas ir līdzīgs, bet ar atslēgām, kurām ir vājas atsauces, kas nozīmē, ka tās neaizkavē atkritumu savākšanu, ja uz objektu nav citu atsauču. Tas var palīdzēt efektīvāk pārvaldīt atmiņu noteiktās lietojumprogrammās. Abi un WeakMap nodrošināt stabilu metožu kopumu atslēgu un vērtību pāru kolekciju pārvaldībai. Lai gan tie tieši neaizstāj vienkāršus objektus, tie piedāvā unikālas priekšrocības elastības un atmiņas pārvaldības ziņā, ko var izmantot sarežģītākās datu struktūrās un algoritmos.

  1. Kā es varu atkārtot objekta īpašības JavaScript?
  2. Tu vari izmantot , , , vai Object.entries() lai atkārtotu objekta īpašības.
  3. Kāda ir atšķirība starp un ?
  4. atkārto visas neskaitāmās īpašības, tostarp tās, kas mantotas prototipa ķēdē, kamēr atgriež tikai paša objekta uzskaitāmās īpašības.
  5. Kā strādāt?
  6. atgriež paša objekta uzskaitāmo rekvizītu [atslēga, vērtība] pāru masīvu, ko var atkārtot ar cilpa.
  7. Vai es varu izmantot tieši uz objekta?
  8. Nē, ir masīvu metode, taču varat to izmantot atgrieztajos masīvos , , vai Object.entries().
  9. Kas ir un ?
  10. ļauj izmantot jebkura veida atslēgas un uztur ievietošanas secību. ir atslēgas, kurām ir vāja atsauce un kuras var savākt atkritumus.
  11. Kā un atšķiras?
  12. Viņi darbojas līdzīgi, bet atkārtojas pār kartes ierakstiem (atslēgas vērtību pāriem), turpretim atkārtojas masīva elementos.
  13. Kāpēc izmantot ?
  14. Izmantot kad jums ir nepieciešams tieši atkārtot objekta rekvizītu vērtības.

Objektu iterācijas apgūšana JavaScript ir būtiska efektīvai programmēšanai. Izmantojot tādas metodes kā , , , un Object.entries(), izstrādātāji var efektīvi piekļūt objekta rekvizītiem un ar tiem manipulēt. Šīs metodes nodrošina elastību, nodrošinot, ka jūsu kods paliek tīrs, efektīvs un viegli saprotams. Neatkarīgi no tā, vai jums ir darīšana ar vienkāršiem vai sarežģītiem objektiem, šo metožu pārzināšana uzlabos jūsu kodēšanas prasmes un optimizēs JavaScript lietojumprogrammas.