Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

160
Views
La casilla de verificación no está seleccionada después de la comparación con una matriz

Tengo una matriz que contiene un objeto. Me gustaría tener una casilla de verificación marcada cuando el objeto aparece en la matriz. Pero mi casilla de verificación no está marcada, vea la imagen. Solo el nombre se muestra como un chip en el campo de selección. No se por que

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La función js includes está comparando elementos con el operador === y esto no funciona con objetos.

por ejemplo, la siguiente expresión devolverá false :

 {id:1} === {id:1}

Para resolver su problema, puede usar la función js que verifica si un elemento de la matriz coincide con la condición

Para comparar su objeto, puede escribir su lógica en alguna función o escribir otra función para comparar sus elementos.

Nota : en mi opinión, en su caso, solo puede comparar el identificador de los objetos para verificar si están incluidos en la matriz personNamen

 checked={personNamen.some(person => person.name === name.name)}

Pequeño ejemplo

 const personNamen = [{ name: "Foo", id: 1 }] const name = { name: "Foo", id: 1 } const name2 = { name: "Bar", id: 2 } const compareObjects = (obj1, obj2) => { return obj1.name === obj2.name && obj1.id === obj2.id } console.log(personNamen.some(person => compareObjects(person, name))) //true console.log(personNamen.some(person => compareObjects(person, name2))) //false


Solución alterna

Otra solución sería asignar la matriz al valor del identificador y verificar si la identificación está incluida en la matriz asignada

Ejemplo :

 const personNamen = [ {id: 1, name: "Foo"}, {id: 2, name: "Bar"}, ] const reduceArray = personNamen.map(x => x.id) const name1 = {id:1, name: "Foo"} const name2 = {id:3, name: "Baz"} console.log(reduceArray.includes(name1.id)) //true console.log(reduceArray.includes(name2.id)) //false

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!