En este artículo, aprenderemos cómo iterar sobre un objeto JavaScript. Durante la iteración, recorre las propiedades del objeto una por una y, según el método que utilice para la iteración, es posible que tenga un acceso diferente a estas propiedades.
Existen muchos métodos para iterar sobre un objeto que se analizan a continuación:
Tabla de contenidos
- Usando for… en bucle
- Usando el método Object.entries() y el método map()
- Usando el método forEach() y el método object.keys()
- Usando el método Lodash _.forOwn()
Método 1: Usando para… en bucle
Las propiedades del objeto se pueden iterar utilizando un bucle for..in. Este bucle se utiliza para iterar sobre todas las propiedades iterables que no son símbolos de un objeto. Algunos objetos pueden contener propiedades que pueden heredarse de sus prototipos. El tienePropiedadPropiedad() El método se puede utilizar para comprobar si la propiedad pertenece al objeto mismo. El valor de cada clave del objeto se puede encontrar utilizando la clave como índice del objeto.
Sintaxis:
for (let key in exampleObj) { if (exampleObj.hasOwnProperty(key)) { value = exampleObj[key]; console.log(key, value); } }>Ejemplo: Este ejemplo muestra la implementación del enfoque explicado anteriormente.
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();> Producción
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Método 2: Usando Método object.entries() y mapa() Método
El Método object.entries() se utiliza para devolver una matriz de los pares de propiedades enumerables con clave de cadena propios del objeto. La matriz devuelta se utiliza con el mapa() Método para extraer la clave y el valor de los pares. La clave y los valores del par clave-valor se pueden extraer accediendo al primer y segundo índice del par de matrices. El primer índice corresponde a la clave y el segundo índice corresponde al valor del par.
Sintaxis:
Object.entries(exampleObj).map(entry =>{ let clave = entrada[0]; let valor = entrada[1]; console.log(clave, valor); });>Ejemplo: Este ejemplo muestra la implementación del enfoque explicado anteriormente.
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.entries(exampleObj).map(entry =>{ let clave = entrada[0]; let valor = entrada[1]; console.log(clave, valor); }); } iterarObjeto();> Producción
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>
Método 3: uso método para cada() y método objeto.keys()
Object.keys() devuelve una matriz de claves del objeto yforEach()>es un método de matriz que le permite iterar sobre cada elemento de la matriz.
Ejemplo: Este ejemplo muestra la implementación del enfoque explicado anteriormente.
JavaScript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.keys(exampleObj).forEach(key =>{ valor constante = exampleObj[clave]; console.log(`${clave}: ${valor}`); }); } iterarObjeto();> Producción
book: Sherlock Holmes author: Arthur Conan Doyle genre: Mystery>
Método 4: uso Método Lodash _.forOwn()
En este enfoque, utilizamos el método Lodash _.forOwn(), que ayuda a iterar a través de objetos.
Ejemplo: Este ejemplo muestra la implementación del enfoque explicado anteriormente.
JavaScript // Defining Lodash variable const _ = require('lodash'); let users = { 'a': 1, 'b': 2, 'c': 3 }; _.forOwn(users, function (value, key) { console.log(key, '=', value); });> Producción:
a = 1 b = 2 c = 3>
Método 5: uso del método Object.values() y del método forEach()
El método Object.values() devuelve una matriz de los valores de propiedad enumerables del propio objeto. Al combinar esto con el método forEach(), puede iterar sobre cada valor. Para acceder también a las claves correspondientes, puede utilizar el método Object.keys() en conjunto.
Sintaxis:
Object.values(exampleObj).forEach((value, index) =>{ clave constante = Object.keys(ejemploObj)[índice]; console.log(clave, valor); });>Ejemplo:
javascript function iterateObject() { let exampleObj = { book: 'Sherlock Holmes', author: 'Arthur Conan Doyle', genre: 'Mystery' }; Object.values(exampleObj).forEach((value, index) =>{ clave constante = Object.keys(ejemploObj)[índice]; console.log(clave, valor); }); } iterarObjeto();> Producción
book Sherlock Holmes author Arthur Conan Doyle genre Mystery>