logo

Jak iterować po obiekcie JavaScript?

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

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>