Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!