logo

Jak iterovat přes objekt JavaScriptu?

V tomto článku se naučíme, jak iterovat přes objekt JavaScriptu. Během iterace procházíte vlastnosti objektu jednu po druhé a v závislosti na metodě, kterou pro iteraci používáte, můžete mít k těmto vlastnostem různý přístup.

Existuje mnoho metod pro iteraci objektu, které jsou popsány níže:



Obsah

Metoda 1: Použitím pro...ve smyčce

Vlastnosti objektu lze iterovat pomocí cyklu for..in. Tato smyčka se používá k iteraci přes všechny ne-Symbolové iterovatelné vlastnosti objektu. Některé objekty mohou obsahovat vlastnosti, které mohou být zděděny z jejich prototypů. The hasOwnProperty() metodu lze použít ke kontrole, zda vlastnost patří samotnému objektu. Hodnotu každého klíče objektu lze zjistit pomocí klíče jako indexu objektu.

Syntax:

for (let key in exampleObj) {  if (exampleObj.hasOwnProperty(key)) {  value = exampleObj[key];  console.log(key, value);  } }>

Příklad: Tento příklad ukazuje implementaci výše vysvětleného přístupu.



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();>

Výstup
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>

Metoda 2: Použitím Metoda Object.entries(). a mapa() Metoda

The Metoda Object.entries(). se používá k vrácení pole vlastních vyčíslitelných párů vlastností zadaných řetězci. Vrácené pole se používá s mapa() metoda pro extrakci klíče a hodnoty z párů. Klíč a hodnoty z páru klíč-hodnota lze extrahovat přístupem k prvnímu a druhému indexu páru pole. První index odpovídá klíči a druhý index odpovídá hodnotě páru.

Syntax:

Object.entries(exampleObj).map(entry =>{ let klíč = vstup[0];  nech hodnota = vstup[1];  console.log(klíč, hodnota); });>

Příklad: Tento příklad ukazuje implementaci výše vysvětleného přístupu.

Javascript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.entries(exampleObj).map(entry =>{ let klíč = vstup[0];  nech hodnota = vstup[1];  console.log(klíč, hodnota);  }); } iterateObject();>

Výstup
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>

Metoda 3: Použití forEach() metoda a metoda object.keys().

Object.keys() vrací pole klíčů objektu aforEach()>je metoda pole, která vám umožňuje iterovat každý prvek v poli.



Příklad: Tento příklad ukazuje implementaci výše vysvětleného přístupu.

Javascript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.keys(exampleObj).forEach(key =>{ const value = exampleObj[klíč];  console.log(`${key}: ${value}`);  }); } iterateObject();>

Výstup
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>

Metoda 4: Použití Metoda Lodash _.forOwn().

V tomto přístupu používáme metodu Lodash _.forOwn(), která pomáhá procházet objekty.

Příklad: Tento příklad ukazuje implementaci výše vysvětleného přístupu.

Javascript
// Defining Lodash variable  const _ = require('lodash'); let users = {  'a': 1,  'b': 2,  'c': 3 }; _.forOwn(users, function (value, key) {  console.log(key, '=', value); });>

Výstup:

a = 1 b = 2 c = 3>

Metoda 5: Použití metody Object.values() a metody forEach().

Metoda Object.values() vrací pole vlastních vyčíslitelných hodnot vlastností objektu. Když to zkombinujete s metodou forEach(), můžete iterovat každou hodnotu. Chcete-li také získat přístup k odpovídajícím klíčům, můžete použít metodu Object.keys() v tandemu.

Syntax:

Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index];  console.log(klíč, hodnota); });>

Příklad:

JavaScript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index];  console.log(klíč, hodnota);  }); } iterateObject();>

Výstup
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>