Ako iterovať cez objekt JavaScript?
V tomto článku sa naučíme, ako iterovať cez objekt JavaScript. Počas iterácie prechádzate vlastnosťami objektu jednu po druhej a v závislosti od metódy, ktorú používate na iteráciu, môžete mať rôzny prístup k týmto vlastnostiam
Existuje mnoho metód na iteráciu objektu, ktoré sú popísané nižšie:
Obsah
- Používa sa pre...v slučke
- Použitie metódy Object.entries() a metódy map().
- Použitie metódy forEach() a metódy object.keys().
- Použitie metódy Lodash _.forOwn().
Metóda 1: Použitím pre...v slučke
Vlastnosti objektu je možné iterovať pomocou cyklu for..in. Táto slučka sa používa na iteráciu cez všetky ne iterovateľné vlastnosti objektu ako symbol. Niektoré objekty môžu obsahovať vlastnosti, ktoré môžu byť zdedené z ich prototypov. The hasOwnProperty() metódu možno použiť na kontrolu, či vlastnosť patrí samotnému objektu. Hodnotu každého kľúča objektu možno nájsť pomocou kľúča ako indexu objektu.
Syntax:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } Príklad: Tento príklad ukazuje implementáciu vyššie uvedeného prí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ýkon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metóda 2: Použitím Metóda Object.entries(). a mapa() Metóda
The Metóda Object.entries(). sa používa na vrátenie poľa vlastných vymenovateľných párov vlastností s kľúčom reťazca. Vrátené pole sa používa s mapa() metóda na extrakciu kľúča a hodnoty z párov. Kľúč a hodnoty z páru kľúč – hodnota možno extrahovať prístupom k prvému a druhému indexu páru poľa. Prvý index zodpovedá kľúču a druhý index zodpovedá hodnote páru.
Syntax:
Object.entries(exampleObj).map(entry =>{ nech kľúč = záznam[0]; nech hodnota = vstup[1]; console.log(kľúč, hodnota); }); Príklad: Tento príklad ukazuje implementáciu vyššie uvedeného prístupu.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ nech kľúč = záznam[0]; nech hodnota = vstup[1]; console.log(kľúč, hodnota); }); } iterateObject(); Výkon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metóda 3: Použitie forEach() metóda a metóda object.keys().
Object.keys() vracia pole kľúčov objektu a forEach()> je metóda poľa, ktorá vám umožňuje iterovať každý prvok v poli.
Príklad: Tento príklad ukazuje implementáciu vyššie uvedeného prístupu.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const value = exampleObj[key]; console.log(`${key}: ${value}`); }); } iterateObject(); Výkon
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery
Metóda 4: Použitie Metóda Lodash _.forOwn().
V tomto prístupe používame metódu Lodash _.forOwn(), ktorá pomáha iterovať objekty.
Príklad: Tento príklad ukazuje implementáciu vyššie uvedeného prí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ýkon:
a = 1 b = 2 c = 3
Metóda 5: Použitie metódy Object.values() a metódy forEach().
Metóda Object.values() vracia pole vlastných spočítateľných hodnôt vlastností objektu. Ak to skombinujete s metódou forEach(), môžete iterovať každú hodnotu. Ak chcete získať prístup aj k zodpovedajúcim kľúčom, môžete použiť metódu Object.keys() v tandeme.
Syntax:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(kľúč, hodnota); }); Prí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(kľúč, hodnota); }); } iterateObject(); Výkon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery