Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

237
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda