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
- Použití for… ve smyčce
- Použití metody Object.entries() a metody map().
- Použití metody forEach() a metody object.keys().
- Použití metody Lodash _.forOwn().
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>