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

135
Vistas
Filtrar una matriz de objetos en dos nuevas matrices y guardar cada una en useState

Tengo una variedad de objetos.

 const units = [ {id: 1, status: "AVAILABLE"}, {id: 1, status: "ASSIGNED"}, {...} ]

Mi objetivo es escribir una función que filtre la matriz en dos nuevas matrices: una matriz para objetos que tienen status: "AVAILABLE" y otra matriz para objetos que tienen status: "ASSIGNED"

estoy configurando el estado

 const [availableUnits, setAvailableUnits] = useState([]); const [assignedUnits, setAssignedUnits] = useState([]);

Quiero filtrar a través de la matriz de unidades y establecer cada nueva matriz en su estado dado. Estaba tratando de hacer algo como esto:

 setAvailableUnits(() => units.filter((unit) => { return unit.status === "AVAILABLE"; }))

Aunque esto no funciona. Me gustaría una función que filtre y establezca el estado de ambos estados.

Gracias.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puedes hacer esto como el siguiente código

 setAvailableUnits(data.filter((v)=> v.status === "AVAILABLE")); setAssignedUnits(data.filter((v)=> v.status === "ASSIGNED"));
about 4 years ago · Juan Pablo Isaza Denunciar

0

si units ya se conocen antes de renderizar el componente, puede probar esto

 const [availableUnits, setAvailableUnits] = useState(units.filter((v)=> v.status === "AVAILABLE")); const [assignedUnits, setAssignedUnits] = useState(units..filter((v)=> v.status === "ASSIGNED"));

si no y viene de ir a fetching por ejemplo

puedes probar

 setAvailableUnits(data.filter((v)=> v.status === "AVAILABLE")); setAssignedUnits(data.filter((v)=> v.status === "ASSIGNED"));
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto solo funcionará si solo hay dos estados disponibles: AVAILABLE y ASSIGNED . Modifique la instrucción if si desea incluir más estados.

 const units = [ {id: 1, status: "AVAILABLE"}, {id: 1, status: "ASSIGNED"}, ]; const newAvailableUnits = []; const newAssignedUnits = []; units.forEach((unit) => { if (unit.status === "AVAILABLE") newAvailableUnits.push(unit); else newAssignedUnits.push(unit); }) setAvailableUnits(newAvailableUnits); setAssignedUnits(newAssignedUnits);
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