W tym artykule dowiemy się, jak iterować po obiekcie JavaScript. Podczas iteracji przeglądasz właściwości obiektu jedna po drugiej i w zależności od metody użytej do iteracji możesz mieć różny dostęp do tych właściwości
Istnieje wiele metod iteracji po obiekcie, które omówiono poniżej:
Spis treści
- Używanie pętli for…in
- Korzystanie z metody Object.entries() i metody map().
- Korzystanie z metody forEach() i metody object.keys().
- Korzystanie z metody Lodash _.forOwn().
Metoda 1: Za pomocą dla…w pętli
Właściwości obiektu można iterować za pomocą pętli for..in. Ta pętla służy do iteracji po wszystkich iterowalnych właściwościach obiektu innych niż Symbol. Niektóre obiekty mogą zawierać właściwości, które mogą być dziedziczone z ich prototypów. The maWłasnąWłaściwość() Metodę można zastosować do sprawdzenia, czy właściwość należy do samego obiektu. Wartość każdego klucza obiektu można znaleźć, używając klucza jako indeksu obiektu.
Składnia:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } }>
Przykład: Przykład ten pokazuje implementację opisanego powyżej podejścia.
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();>
Wyjście
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Metoda 2: Za pomocą Metoda obiektu.entries(). I mapa() metoda
The Metoda obiektu.entries(). służy do zwracania tablicy przeliczalnych par właściwości obiektu z kluczem łańcuchowym. Zwrócona tablica jest używana z mapa() metoda wyodrębnienia klucza i wartości z par. Klucz i wartości z pary klucz-wartość można wyodrębnić, uzyskując dostęp do pierwszego i drugiego indeksu pary tablic. Pierwszy indeks odpowiada kluczowi, a drugi indeks odpowiada wartości pary.
Składnia:
Object.entries(exampleObj).map(entry =>{ niech klucz = wpis [0]; niech wartość = wpis[1]; konsola.log(klucz, wartość); });>
Przykład: Przykład ten pokazuje implementację opisanego powyżej podejścia.
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ niech klucz = wpis [0]; niech wartość = wpis[1]; konsola.log(klucz, wartość); }); } iteracyjnyObiekt();>
Wyjście
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Metoda 3: Używanie forEach(). I Metoda obiekt.keys().
Object.keys() zwraca tablicę kluczy obiektu iforEach()>
to metoda tablicowa, która umożliwia iterację po każdym elemencie tablicy.
Przykład: Przykład ten pokazuje implementację opisanego powyżej podejścia.
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ stała wartość = przykładowy obiekt [klucz]; konsola.log(`${klucz}: ${wartość}`); }); } iteracyjnyObiekt();>
Wyjście
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>
Metoda 4: Używanie Metoda Lodash _.forOwn().
W tym podejściu używamy metody Lodash _.forOwn(), która pomaga w iterowaniu po obiektach.
Przykład: Przykład ten pokazuje implementację opisanego powyżej podejścia.
JavaScript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); });>
Wyjście:
a = 1 b = 2 c = 3>
Metoda 5: Używanie metod Object.values() i forEach().
Metoda Object.values() zwraca tablicę wartości własnych przeliczalnych właściwości obiektu. Łącząc to z metodą forEach(), możesz iterować po każdej wartości. Aby uzyskać dostęp również do odpowiednich kluczy, możesz użyć metody Object.keys() w tandemie.
Składnia:
Object.values(exampleObj).forEach((value, index) =>{ klucz stały = klucze obiektu (przykładowy obiekt) [indeks]; konsola.log(klucz, wartość); });>
Przykład:
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.values(exampleObj).forEach((value, index) =>{ klucz stały = klucze obiektu (przykładowy obiekt) [indeks]; konsola.log(klucz, wartość); }); } iterujObiekt();>
Wyjście
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>