JavaScripti objektide iteratsiooni uurimine
JavaScripti objekti atribuutide sirvimine on tavaline ülesanne, millega arendajad kokku puutuvad. Olenemata sellest, kas teil on vaja juurdepääsu võtmetele, väärtustele või mõlemale, on oluline mõista, kuidas objekti atribuute tõhusalt loetleda.
Selles artiklis uurime erinevaid meetodeid objekti elementide kordamiseks. Lõpuks omandate teadmised objektide loendamise lihtsaks käsitlemiseks, tagades, et teie JavaScripti kood on nii tõhus kui ka loetav.
Käsk | Kirjeldus |
---|---|
for...in | Sõidab läbi objekti atribuutide, kordades kõiki loendatavaid omadusi. |
hasOwnProperty() | Kontrollib, kas objektil on määratud omadus otsese omadusena, mitte prototüübiahela kaudu päritud. |
Object.entries() | Tagastab massiivi antud objekti enda loendatavate omaduste [võti, väärtus] paaridest. |
Object.keys() | Tagastab antud objekti enda loendatavate atribuutide nimede massiivi. |
Object.values() | Tagastab antud objekti enda loendatavate atribuutide väärtuste massiivi. |
forEach() | Käivitab iga massiivi elemendi jaoks ette nähtud funktsiooni üks kord. |
JavaScripti objektide iteratsioonitehnikate mõistmine
The silmus on põhiline JavaScripti konstruktsioon, mida kasutatakse objekti loendatavate omaduste itereerimiseks. Näidisskriptis kasutatakse objekti iga omaduse läbimiseks . Silmuse sees hasOwnProperty() kasutatakse tagamaks, et vara on objekti otsene omand, mitte selle prototüübiahelast päritud. See on ülioluline soovimatute tulemuste vältimiseks, kui objekt pärib omadused. Seejärel logib tsükkel iga kasutatava atribuudi võtme ja väärtuse , loetledes tõhusalt objekti omadused.
Teine demonstreeritud meetod on kasutamine , mis tagastab objekti enda loendatavate omaduste [võti, väärtus] paaride massiivi. Seejärel itereeritakse seda massiivi kasutades , mugav massiivimeetod, mis täidab iga massiivi elemendi jaoks ette nähtud funktsiooni üks kord. See meetod lihtsustab koodi, kuna pääseb igas iteratsioonis otse juurde nii võtmele kui ka väärtusele, muutes loendusprotsessi lihtsaks ja loetavaks. The meetod töötab sarnaselt, kuid tagastab ainult võtmed, mida seejärel kasutatakse vastavatele väärtustele juurdepääsuks forEach() silmus.
Lisaks, on veel üks kasulik meetod, mis tagastab objekti väärtuste massiivi. Itereerides seda massiivi rakendusega , saame igale väärtusele otse juurde pääseda ja logida. Need meetodid -, Object.entries(), ja — on võimsad tööriistad objektide käsitlemiseks JavaScriptis. Need pakuvad paindlikkust objekti omadustele juurde pääsemisel ja nendega manipuleerimisel, võttes arvesse erinevaid vajadusi ja eelistusi. Igal meetodil on oma eelised ja nende mõistmine võimaldab arendajatel valida nende konkreetse kasutusjuhtumi jaoks sobivaima, tagades koodi tõhusa ja tulemusliku täitmise.
Objekti omaduste itereerimine kasutades 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
Objektivõtmete ja väärtuste silmus, kasutades 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
Objekti atribuutide loetlemine Object.keys() abil
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
Objekti väärtuste itereerimine kasutades 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
Sukeldumine JavaScripti objektide iteratsiooni sügavamale
Teine võimas viis objektide iteratsiooni käsitlemiseks JavaScriptis on kasutada objektiks. Erinevalt tavalistest objektidest objektid võimaldavad salvestada võtme-väärtuse paare, kus võtmed võivad olla mis tahes andmetüüpi. See paindlikkus võib olla eriti kasulik stsenaariumide puhul, kus peate väärtustega seostama keerulisi võtmeid, nagu objektid või funktsioonid. Saate hõlpsasti itereerida üle a kasutades selle sisseehitatud meetodeid nagu Map.prototype.forEach(), ja , pakkudes järjepidevat ja prognoositavat iteratsioonijärjekorda, mis on sisestamise järjekord.
Lisaks , pakub ka JavaScript , mis on sarnane, kuid nõrgalt viidatud võtmetega, mis tähendab, et need ei takista prügi kogumist, kui objektile pole muid viiteid. See võib aidata teatud rakendustes mälu tõhusamalt hallata. Mõlemad ja WeakMap pakuvad tugevat meetodite komplekti võtme-väärtuste paaride kogude haldamiseks. Kuigi need ei asenda otseselt tavalisi objekte, pakuvad need ainulaadseid eeliseid paindlikkuse ja mäluhalduse osas, mida saab kasutada keerukamates andmestruktuurides ja algoritmides.
- Kuidas saan JavaScriptis objekti atribuute itereerida?
- Sa võid kasutada , , , või Object.entries() objekti omaduste kordamiseks.
- Mis on vahet ja ?
- kordab kõiki loendatavaid omadusi, sealhulgas neid, mis on päritud prototüübiahela kaudu tagastab ainult objekti enda loendatavad omadused.
- Kuidas töötada?
- tagastab massiivi objekti enda loendatavate omaduste [võti, väärtus] paaridest, mida saab itereerida silmus.
- Kas ma võin kasutada otse objektil?
- ei, on massiivide meetod, kuid saate seda kasutada tagastatud massiividel , , või Object.entries().
- Mis on ja ?
- võimaldab mis tahes tüüpi võtmeid ja säilitab sisestamise järjekorra. on võtmed, millel on nõrk viide ja mida saab prügi koguda.
- Kuidas ja erinevad?
- Nad töötavad sarnaselt, kuid kordab üle kaardikirjete (võtme-väärtuse paarid), kusjuures itereerib üle massiivi elementide.
- Miks kasutada ?
- Kasutage kui teil on vaja objekti omaduste väärtusi otse korrata.
Objekti iteratsiooni valdamine JavaScriptis on tõhusa programmeerimise jaoks hädavajalik. Kasutades selliseid meetodeid nagu , , ja Object.entries(), saavad arendajad tõhusalt juurde pääseda objekti omadustele ja nendega manipuleerida. Need tehnikad pakuvad paindlikkust, tagades, et teie kood jääb puhtaks, tõhusaks ja kergesti mõistetavaks. Olenemata sellest, kas tegemist on lihtsate või keerukate objektidega, parandab nende meetodite tundmine teie kodeerimisoskusi ja optimeerib JavaScripti rakendusi.