Hvordan itererer man over et JavaScript-objekt?
I denne artikel lærer vi, hvordan man itererer over et JavaScript-objekt. Under iteration går du gennem objektets egenskaber én efter én, og afhængigt af den metode, du bruger til iteration, kan du have forskellig adgang til disse egenskaber
Der er mange metoder til at iterere over et objekt, som diskuteres nedenfor:
Indholdsfortegnelse
- Bruges til...in loop
- Brug af Object.entries()-metoden og map()-metoden
- Brug forEach()-metoden og object.keys()-metoden
- Brug af Lodash _.forOwn()-metoden
Metode 1: Ved brug af for ... i loop
Objektets egenskaber kan gentages ved hjælp af en for..in-løkke. Denne sløjfe bruges til at iterere over alle ikke-symbol iterable egenskaber for et objekt. Nogle objekter kan indeholde egenskaber, der kan være nedarvet fra deres prototyper. Det hasOwnProperty() metode kan bruges til at kontrollere, om egenskaben tilhører selve objektet. Værdien af hver nøgle til objektet kan findes ved at bruge nøglen som objektets indeks.
Syntaks:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } Eksempel: Dette eksempel viser implementeringen af den ovenfor forklarede tilgang.
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(); Produktion
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metode 2: Ved brug af Object.entries() metode og kort() Metode
Det Object.entries() metode bruges til at returnere en matrix af objektets egne numerable strengnøglede egenskabspar. Det returnerede array bruges sammen med kort() metode til at udtrække nøglen og værdien fra parrene. Nøglen og værdierne fra nøgleværdi-parret kan udtrækkes ved at få adgang til det første og andet indeks af matrixparret. Det første indeks svarer til nøglen, og det andet indeks svarer til værdien af parret.
Syntaks:
Object.entries(exampleObj).map(entry =>{ lad nøgle = indtastning[0]; lad værdi = indtastning[1]; console.log(nøgle, værdi); }); Eksempel: Dette eksempel viser implementeringen af den ovenfor forklarede tilgang.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ lad nøgle = indtastning[0]; lad værdi = indtastning[1]; console.log(nøgle, værdi); }); } iterateObject(); Produktion
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metode 3: Brug forEach() metode og object.keys() Metode
Object.keys() returnerer en række nøgler til objektet og forEach()> er en array-metode, der giver dig mulighed for at iterere over hvert element i arrayet.
Eksempel: Dette eksempel viser implementeringen af den ovenfor forklarede tilgang.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const værdi = eksempelObj[nøgle]; console.log(`${key}: ${value}`); }); } iterateObject(); Produktion
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery
Metode 4: Brug Lodash _.forOwn() metode
I denne tilgang bruger vi Lodash _.forOwn()-metoden, som hjælper med at iterere gennem objekter.
Eksempel: Dette eksempel viser implementeringen af den ovenfor forklarede tilgang.
Javascript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); }); Produktion:
a = 1 b = 2 c = 3
Metode 5: Brug af Object.values()-metoden og forEach()-metoden
Object.values()-metoden returnerer en matrix af objektets egne talløse egenskabsværdier. Ved at kombinere dette med metoden forEach() kan du iterere over hver værdi. For også at få adgang til de tilsvarende nøgler, kan du bruge metoden Object.keys() i tandem.
Syntaks:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[indeks]; console.log(nøgle, værdi); }); Eksempel:
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)[indeks]; console.log(nøgle, værdi); }); } iterateObject(); Produktion
book Sherlock Holmes author Arthur Conan Doyle genre Mystery