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

104
Vistas
Manera correcta de iterar objeto anidado

Hola a todos, tengo el siguiente código.

Estoy usando ReactJS.

Estoy tratando de filtrar de mi archivo zipCode ese objeto de código postal que un usuario proporcionará en la entrada. Esa lógica de filtrado funcionaba bien, pero no puedo guardar mi objeto en la variable porque estoy haciendo algo mal.

Miré este artículo pero no me ayudó.

En este caso, puedo ver el objeto al hacer el registro de la consola.

 Object.values(zipWithLocation).forEach((o) => { Object.values(o).forEach((second) => console.log("second", second)); });

Pero necesito implementarlo de esta manera.

 const first = Object.values(zipWithLocation).forEach((o) => { Object.values(o).forEach((a) => { return a; }); }); console.log("first", first);

Pero de esta manera, la consola registra undefined .

Por favor, ayúdame a arreglar el último ejemplo. Me ayudaría a implementar lo siguiente.

 return( <> <p> city -{first.City}, location: {first.State} <p> <p>{first.Delivery}</p> <p>please provide address: {first.Address} </p> </> )
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Dado que zipCodefromInput debe ser una clave de zipCode, puede obtener una referencia a los datos mediante zipCode[zipCodefromInput] (no se necesita bucle).

Probar

 import { useState } from "react"; import "./styles.css"; import zipCode from "./zipCodes"; export default function App() { const [zipCodefromInput, setZipCodeFromInput] = useState(); if (zipCodefromInput in zipCode) { let first = zipCode[zipCodefromInput][0]; console.log(first.City); } else { console.log("entered zip code not found in list"); } return ( <div className="App"> <input placeholder="2101" onChange={(e) => { setZipCodeFromInput(+e.target.value); }} /> </div> ); }
about 4 years ago · Juan Pablo Isaza Denunciar

0

.forEach() no devuelve nada (por lo tanto, undefined ), probablemente quiera usar .map() si desea asignar la matriz a una variable.

Para su caso, parece que .find() se ajustaría mejor a sus necesidades, ya que atraviesa la matriz y se detiene en la primera condición coincidente.

 const array = ['a', 'b', 'c', 'd', 'a', 'b', 'c', 'd']; const firstB = array.find((item, index) => { console.log('item:', item, 'index:', index) return item === 'b' }); console.log('firstB', firstB); const forEachResult = array.forEach((item) => { return item; }); console.log('forEachResult', forEachResult); const mapResult = array.map((item) => {return item}); console.log('mapResult', mapResult);

about 4 years ago · Juan Pablo Isaza 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