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

225
Vistas
Cómo construir una matriz para comparar primero y luego agregar la entrada

Debido a que soy un principiante en reaccionar y js, estoy teniendo dificultades para construir una matriz correctamente, encontré un artículo en la web según el cual usar el método concat puede construir una matriz. He seguido la misma técnica, pero mi problema es que agrega los datos y no los compara si los mismos datos ya están allí. Quiero comparar los datos antes de agregarlos a la matriz para que no entren datos duplicados en la matriz.

Mi código actual es:

 const [input, setInput] = useState([]) // state const handleOnChange = (userInput) => { // Add the userInput the list onChange of userInput // Save userInput to React Hooks setInput((input) => input.concat(userInput)) console.log(input) }

Aquí userInput es un objeto con múltiples valores de cadenas como

 {id: 1 , ifYes: "Do this", ifNo : "Do something else"}

y si la matriz tiene el elemento con id: 1, al presionarlo nuevamente, no debería agregarse a la matriz.

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

0

Puede usar la find de matriz para verificar si la matriz tiene un objeto con la misma identificación y, si no, puede agregar el valor

 const [input, setInput] = useState([]) // state const handleOnChange = (userInput) => { // Add the userInput the list onChange of userInput // Save userInput to React Hooks const hasUserInput = input.find(userVal => userVal.id === userInput.id); if (!hasUserInput) { setInput((input) => input.concat(userInput)); console.log(input) } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede verificar si la matriz contiene un elemento con la identificación con some(...) .

 const [input, setInput] = useState([]) // state const handleOnChange = (userInput) => { // Add the userInput the list onChange of userInput // Save userInput to React Hooks if(!input.some(i => i.id === userInput.id)){ setInput((input) => input.concat(userInput)) } console.log(input) }
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