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

147
Vistas
cómo eliminar un elemento de la matriz

Tengo un problema para corregir un error.

Estoy obteniendo datos de la base de datos. los datos (objeto) contienen una matriz de nombres. Tengo un gancho useState que contiene una matriz de objetos. El valor son los nombres. Quiero eliminar todos los objetos del enlace useState tanto como el nombre de la matriz obtenida para la base de datos.

Exp:

 response.data.players = ["player1", "player2"] const [names, setNames] = useState([ {value: "player1", label: "player1"}, {value: "player3", label: "player3"}, {value: "player2", label: "player2"}, {value: "player5", label: "player5"}, ])

Quiero que los nombres se vuelvan así:

 [ {value: "player3", label: "player3"}, {value: "player5", label: "player5"}, ]

con una complejidad de tiempo mínima (ya estoy usando .map para servir otro enlace con los nombres, si puedo usarlo, será perfecto para la complejidad de tiempo)

Gracias

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

0

Eso suena como un filtro para mí. ¿No puedes hacer algo como esto?

 setNames(names.filter(name => !response.data.players.includes(name.label)))

Como referencia, esto es lo que funciona sin React:

 const names = [{ value: "player1", label: "player1" }, { value: "player3", label: "player3" }, { value: "player2", label: "player2" }, { value: "player5", label: "player5" }, ]; const response = { data: { players: ["player1", "player2"], }, }; const filteredNames = names.filter(name => !response.data.players.includes(name.label)) console.log(filteredNames);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede lograr el resultado de manera eficiente usando Establecer y filtrar

 const names = [ { value: "player1", label: "player1" }, { value: "player3", label: "player3" }, { value: "player2", label: "player2" }, { value: "player5", label: "player5" }, ]; const players = ["player1", "player2"]; const set = new Set(players); const result = names.filter(({ label }) => !set.has(label)); console.log(result);

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