Î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 șiforEach()>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