logo

Kaip kartoti JavaScript objektą?

Šiame straipsnyje sužinosime, kaip kartoti „JavaScript“ objektą. Iteracijos metu peržiūrite objekto ypatybes po vieną ir, atsižvelgiant į iteracijai naudojamą metodą, galite turėti skirtingą prieigą prie šių savybių

Yra daug būdų, kaip kartoti objektą, kurie aptariami toliau:

Turinys



1 būdas: Naudojant už… kilpoje

Objekto savybės gali būti kartojamos naudojant for..in kilpą. Ši kilpa naudojama kartoti visas objekto ypatybes, kurios nėra simbolis. Kai kuriuose objektuose gali būti savybių, kurios gali būti paveldėtos iš jų prototipų. The hasOwnProperty() metodas gali būti naudojamas norint patikrinti, ar nuosavybė priklauso pačiam objektui. Kiekvieno objekto rakto reikšmę galima rasti naudojant raktą kaip objekto indeksą.

Sintaksė:

for (let key in exampleObj) {  if (exampleObj.hasOwnProperty(key)) {  value = exampleObj[key];  console.log(key, value);  } }>

Pavyzdys: Šis pavyzdys rodo aukščiau paaiškinto metodo įgyvendinimą.

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();>

Išvestis
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>

2 būdas: Naudojant Object.entries() metodas ir žemėlapis () Metodas

The Object.entries() metodas naudojamas norint grąžinti objekto suskaičiuojamų eilučių savybių porų masyvą. Grąžintas masyvas naudojamas su žemėlapis () metodas raktui ir vertei išgauti iš porų. Raktą ir reikšmes iš raktų ir reikšmių poros galima išgauti pasiekiant pirmąjį ir antrąjį masyvo poros indeksus. Pirmasis indeksas atitinka raktą, o antrasis – poros vertę.

Sintaksė:

Object.entries(exampleObj).map(entry =>{ tegul klavišas = įrašas[0];  tegul reikšmė = įrašas[1];  console.log(raktas, reikšmė); });>

Pavyzdys: Šis pavyzdys rodo aukščiau paaiškinto metodo įgyvendinimą.

Javascript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.entries(exampleObj).map(entry =>{ tegul klavišas = įrašas[0];  tegul reikšmė = įrašas[1];  console.log(raktas, reikšmė);  }); } iterateObject();>>  
Išvestis
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>

3 būdas: naudojimas kiekvienam () metodui ir object.keys() Metodas

Object.keys() grąžina objekto ir raktų masyvąforEach()>yra masyvo metodas, leidžiantis kartoti kiekvieną masyvo elementą.

Pavyzdys: Šis pavyzdys rodo aukščiau paaiškinto metodo įgyvendinimą.

Javascript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.keys(exampleObj).forEach(key =>{ const reikšmė = pavyzdysObj[raktas];  console.log(`${key}: ${value}`);  }); } iterateObject();>>  
Išvestis 4 būdas: naudojimas Lodash _.forOwn() metodas

Taikydami šį metodą naudojame Lodash _.forOwn() metodą, kuris padeda kartoti objektus.

Pavyzdys: Šis pavyzdys rodo aukščiau paaiškinto metodo įgyvendinimą.

Javascript
// Defining Lodash variable  const _ = require('lodash'); let users = {  'a': 1,  'b': 2,  'c': 3 }; _.forOwn(users, function (value, key) {  console.log(key, '=', value); });>

Išvestis:

Metodas Object.values() grąžina objekto suskaičiuojamų savybių reikšmių masyvą. Sujungę tai su forEach() metodu, galite kartoti kiekvieną reikšmę. Jei norite pasiekti ir atitinkamus raktus, kartu galite naudoti Object.keys() metodą.

Sintaksė:

Object.values(exampleObj).forEach((value, index) =>{ const raktas = Object.keys(exampleObj)[indeksas];  console.log(raktas, reikšmė); });>

Pavyzdys:

JavaScript
function iterateObject() {  let exampleObj = {  book: 'Sherlock Holmes',  author: 'Arthur Conan Doyle',  genre: 'Mystery'  };  Object.values(exampleObj).forEach((value, index) =>{ const raktas = Object.keys(exampleObj)[indeksas];  console.log(raktas, reikšmė);  }); } iterateObject();>>  
Išvestis