I den här artikeln kommer vi att lära oss hur man itererar över ett JavaScript-objekt. Under iterationen går du igenom objektets egenskaper en efter en, och beroende på vilken metod du använder för iteration kan du ha olika åtkomst till dessa egenskaper
Det finns många metoder att iterera över ett objekt som diskuteras nedan:
Innehållsförteckning
- Används för ... i loop
- Använder Object.entries()-metoden och map()-metoden
- Använder metoden forEach() och metoden object.keys().
- Använder metoden Lodash _.forOwn().
Metod 1: Använder sig av för ... i loop
Objektets egenskaper kan itereras över med en for..in-loop. Denna loop används för att iterera över alla icke-symboliterbara egenskaper hos ett objekt. Vissa objekt kan innehålla egenskaper som kan ärvas från deras prototyper. De hasOwnProperty() metod kan användas för att kontrollera om egenskapen tillhör själva objektet. Värdet för varje nyckel för objektet kan hittas genom att använda nyckeln som index för objektet.
Syntax:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } }>Exempel: Detta exempel visar implementeringen av ovan förklarade tillvägagångssätt.
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>
Metod 2: Använder sig av Object.entries()-metoden och Karta() Metod
De Object.entries()-metoden används för att returnera en array av objektets egna uppräknade strängnycklade egenskapspar. Den returnerade arrayen används med Karta() metod för att extrahera nyckeln och värdet från paren. Nyckeln och värdena från nyckel-värdeparet kan extraheras genom att komma åt det första och andra indexet för arrayparet. Det första indexet motsvarar nyckeln och det andra indexet motsvarar värdet på paret.
Syntax:
Object.entries(exampleObj).map(entry =>{ låt nyckel = ingång[0]; låt värde = post[1]; console.log(nyckel, värde); });>Exempel: Detta exempel visar implementeringen av ovan förklarade tillvägagångssätt.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ låt nyckel = ingång[0]; låt värde = post[1]; console.log(nyckel, värde); }); } iterateObject();> Produktion
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Metod 3: Använda forEach()-metoden och object.keys() Metod
Object.keys() returnerar en array av nycklar för objektet ochforEach()>är en arraymetod som låter dig iterera över varje element i arrayen.
Exempel: Detta exempel visar implementeringen av ovan förklarade tillvägagångssätt.
Javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ const värde = exempelObj[nyckel]; console.log(`${nyckel}: ${värde}`); }); } iterateObject();> Produktion
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>
Metod 4: Använda Lodash _.forOwn() metod
I det här tillvägagångssättet använder vi metoden Lodash _.forOwn(), som hjälper till att iterera genom objekt.
Exempel: Detta exempel visar implementeringen av ovan förklarade tillvägagångssätt.
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>
Metod 5: Använder metoden Object.values() och metoden forEach().
Metoden Object.values() returnerar en array av objektets egna uppräknade egenskapsvärden. Genom att kombinera detta med metoden forEach() kan du iterera över varje värde. För att också komma åt motsvarande nycklar kan du använda metoden Object.keys() i tandem.
Syntax:
Object.values(exampleObj).forEach((value, index) =>{ const key = Object.keys(exampleObj)[index]; console.log(nyckel, värde); });>Exempel:
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(nyckel, värde); }); } iterateObject();> Produktion
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>