Cum se repetă peste un obiect JavaScript?
În acest articol, vom învăța cum să repetăm un obiect JavaScript. În timpul iterației, parcurgeți proprietățile obiectului una câte una și, în funcție de metoda pe care o utilizați pentru iterare, este posibil să aveți acces diferit la aceste proprietăți
Există multe metode de a itera asupra unui obiect, care sunt discutate mai jos:
Cuprins
- Folosind for...în buclă
- Folosind metoda Object.entries() și metoda map().
- Folosind metoda forEach() și metoda object.keys().
- Folosind metoda Lodash _.forOwn().
Metoda 1: Folosind pentru... în buclă
Proprietățile obiectului pot fi repetate folosind o buclă for..in. Această buclă este folosită pentru a repeta peste toate proprietățile iterabile non-Simbol ale unui obiect. Unele obiecte pot conține proprietăți care pot fi moștenite de la prototipurile lor. The hasOwnProperty() metoda poate fi folosită pentru a verifica dacă proprietatea aparține obiectului însuși. Valoarea fiecărei chei a obiectului poate fi găsită folosind cheia ca index al obiectului.
Sintaxă:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } Exemplu: Acest exemplu arată implementarea abordării explicate mai sus.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } } iterateObject(); Ieșire
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metoda 2: Folosind Metoda Object.entries(). și Hartă() Metodă
The Metoda Object.entries(). este folosit pentru a returna o matrice a perechilor de proprietăți enumerabile cu cheie șir ale obiectului. Matricea returnată este utilizată cu Hartă() metodă de a extrage cheia și valoarea din perechi. Cheia și valorile din perechea cheie-valoare pot fi extrase accesând primul și al doilea index al perechii matrice. Primul indice corespunde cheii, iar al doilea indice corespunde valorii perechii.
Sintaxă:
Object.entries(exampleObj).map(entry =>{ let key = intrare[0]; lasă valoare = intrare[1]; console.log(cheie, valoare); }); Exemplu: Acest exemplu arată implementarea abordării explicate mai sus.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ let key = intrare[0]; lasă valoare = intrare[1]; console.log(cheie, valoare); }); } iterateObject();>>>
Ieșire book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metoda 3: Utilizarea metoda forEach(). și object.keys() Metoda
Object.keys() returnează o matrice de chei ale obiectului și forEach()> este o metodă de matrice care vă permite să repetați fiecare element din matrice.
Exemplu: Acest exemplu arată implementarea abordării explicate mai sus.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const value = exampleObj[cheie]; console.log(`${key}: ${value}`); }); } iterateObject();>>>
Ieșire Metoda 4: Utilizarea Metoda Lodash _.forOwn(). În această abordare, folosim metoda Lodash _.forOwn(), care ajută la iterarea prin obiecte.
Exemplu: Acest exemplu arată implementarea abordării explicate mai sus.
Javascript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); }); Ieșire:
Metoda Object.values() returnează o matrice cu proprietățile enumerabile ale obiectului. Combinând aceasta cu metoda forEach(), puteți repeta fiecare valoare. Pentru a accesa și cheile corespunzătoare, puteți utiliza metoda Object.keys() în tandem. Sintaxă:
Object.values(exampleObj).forEach((value, index) =>{ cheie const = Object.keys(exampleObj)[index]; console.log(cheie, valoare); }); Exemplu:
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.values(exampleObj).forEach((value, index) =>{ cheie const = Object.keys(exampleObj)[index]; console.log(cheie, valoare); }); } iterateObject();>>>
Ieșire
Bash Subșir