Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

234
Vistas
¿Cómo iterar sobre un objeto JavaScript?

Tengo un objeto en JavaScript:

 { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... }

Quiero usar un bucle for para obtener sus propiedades. Y quiero iterarlo en partes (no todas las propiedades del objeto a la vez).

Con una matriz simple, puedo hacerlo con un bucle for estándar:

 for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = 300; i < arr.length; i++) { ... } // last

Pero, ¿cómo hacerlo con objetos?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Para iterar en claves de Arrays, Strings u Objects , use for .. in :

 for (let key in yourobject) { console.log(key, yourobject[key]); }

Con ES6, si necesita claves y valores simultáneamente, haga

 for (let [key, value] of Object.entries(yourobject)) { console.log(key, value); }

Para evitar registrar propiedades heredadas, verifique con hasOwnProperty :

 for (let key in yourobject) { if (yourobject.hasOwnProperty(key)) { console.log(key, yourobject[key]); } }

No necesita verificar hasOwnProperty al iterar las claves si está usando un objeto simple (por ejemplo, uno que hizo usted mismo con {} ).

Esta documentación de MDN explica de manera más general cómo tratar con objetos y sus propiedades.

Si quieres hacerlo "en trozos", lo mejor es extraer las claves en una matriz. Como el orden no está garantizado, esta es la forma correcta. En los navegadores modernos, puede usar

 let keys = Object.keys(yourobject);

Para ser más compatible, será mejor que hagas esto:

 let keys = []; for (let key in yourobject) { if (yourobject.hasOwnProperty(key)) keys.push(key); }

Luego puede iterar en sus propiedades por índice: yourobject[keys[i]] :

 for (let i=300; i < keys.length && i < 600; i++) { console.log(keys[i], yourobject[keys[i]]); }
over 4 years ago · Santiago Trujillo Denunciar

0

Aquí hay otra solución de iteración para navegadores modernos:

 Object.keys(obj) .filter((k, i) => i >= 100 && i < 300) .forEach(k => console.log(obj[k]));

O sin la función de filtro:

 Object.keys(obj).forEach((k, i) => { if (i >= 100 && i < 300) { console.log(obj[k]); } });

Sin embargo, debe tener en cuenta que las propiedades en el objeto de JavaScript no están ordenadas, es decir, no tienen ningún orden.

over 4 years ago · Santiago Trujillo Denunciar

0

Usando Object.entries , haces algo como esto.

 // array like object with random key ordering const anObj = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.entries(anObj)); // [ ['2', 'b'],['7', 'c'],['100', 'a'] ]

El método Object.entries() devuelve una matriz de la propiedad enumerable propia de un objeto dado [clave, valor]

Entonces puede iterar sobre el Objeto y tener key y value para cada uno de los objetos y obtener algo como esto.

 const anObj = { 100: 'a', 2: 'b', 7: 'c' }; Object.entries(anObj).map(obj => { const key = obj[0]; const value = obj[1]; // do whatever you want with those values. });

o así

 // Or, using array extras Object.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" });

Para obtener una referencia, consulte los documentos de MDN para entradas de objetos

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda