Hvordan iterere over et JavaScript-objekt?
I denne artikkelen lærer vi hvordan du itererer over et JavaScript-objekt. Under iterasjon går du gjennom objektets egenskaper en etter en, og avhengig av metoden du bruker for iterasjon, kan du ha forskjellig tilgang til disse egenskapene
Det er mange metoder for å iterere over et objekt som diskuteres nedenfor:
Innholdsfortegnelse
- Bruker for...in loop
- Bruke Object.entries()-metoden og map()-metoden
- Bruke forEach()-metoden og object.keys()-metoden
- Bruker Lodash _.forOwn()-metoden
Metode 1: Ved hjelp av for ... i loop
Egenskapene til objektet kan itereres over ved å bruke en for..in-løkke. Denne løkken brukes til å iterere over alle ikke-symbol iterable egenskaper til et objekt. Noen objekter kan inneholde egenskaper som kan være arvet fra deres prototyper. De hasOwnProperty() metode kan brukes til å sjekke om egenskapen tilhører selve objektet. Verdien til hver nøkkel til objektet kan bli funnet ved å bruke nøkkelen som indeksen til objektet.
Syntaks:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } } Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.
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(); Produksjon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metode 2: Ved hjelp av Object.entries()-metoden og kart() Metode
De Object.entries()-metoden brukes til å returnere en matrise med objektets egne tallrike egenskapspar med strengnøkler. Den returnerte matrisen brukes med kart() metode for å trekke ut nøkkelen og verdien fra parene. Nøkkelen og verdiene fra nøkkelverdi-paret kan trekkes ut ved å få tilgang til den første og andre indeksen til matriseparet. Den første indeksen tilsvarer nøkkelen og den andre indeksen tilsvarer verdien av paret.
Syntaks:
Object.entries(exampleObj).map(entry =>{ la nøkkel = oppføring[0]; la verdi = oppføring[1]; console.log(nøkkel, verdi); }); Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ la nøkkel = oppføring[0]; la verdi = oppføring[1]; console.log(nøkkel, verdi); }); } iterateObject(); Produksjon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery
Metode 3: Bruke forEach()-metoden og object.keys() Metode
Object.keys() returnerer en rekke nøkler til objektet og forEach()> er en matrisemetode som lar deg iterere over hvert element i matrisen.
Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const verdi = eksempelObj[nøkkel]; console.log(`${key}: ${value}`); }); } iterateObject(); Produksjon
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery
Metode 4: Bruke Lodash _.forOwn() metode
I denne tilnærmingen bruker vi Lodash _.forOwn()-metoden, som hjelper til med å iterere gjennom objekter.
Eksempel: Dette eksemplet viser implementeringen av den ovenfor forklarte tilnærmingen.
Javascript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); }); Produksjon:
a = 1 b = 2 c = 3
Metode 5: Bruke Object.values()-metoden og forEach()-metoden
Object.values()-metoden returnerer en matrise med objektets egne tallrike egenskapsverdier. Ved å kombinere dette med forEach()-metoden kan du iterere over hver verdi. For også å få tilgang til de tilsvarende nøklene, kan du bruke Object.keys()-metoden samtidig.
Syntaks:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[indeks]; console.log(nøkkel, verdi); }); 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økkel, verdi); }); } iterateObject(); Produksjon
book Sherlock Holmes author Arthur Conan Doyle genre Mystery