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

165
Views
Filtrar matriz de diccionarios con matriz de diccionarios

Tengo dos conjuntos de diccionarios, ambos contienen una propiedad de ID, uno es 'id' y el otro es '_id'.

Estoy tratando de filtrar una matriz que contiene todos los libros disponibles y obtener datos de ella en función de los libros que tiene un usuario.

 const books = allbooks.filter(({ id }) => userBooks.findIndex((book) => book._id === id) )

Este es el código que estoy usando en este momento, pero no está haciendo lo que esperaba.

Cómo se ven los datos

 allbooks [ { id: 1, name: 'Book 1' }, { id: 2, name: 'Book 2' } ] userBooks [ { _id: 1 } ]

¿Debo crear una matriz a partir de los _ids de la segunda matriz y filtrar con eso? Estoy tratando de encontrar la mejor manera de hacer esto, estoy usando matrices de diccionarios y a veces me resulta difícil.

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

0

Eres tan cercano mi amigo. El problema es que Array.prototype.findIndex devuelve el primer índice en el que su función lambda devuelve verdadero. El índice del libro coincidente es el índice 0, que es falso , lo que hace que su filtro lo ignore porque el resultado de la función de filtro lambda es falso.

En su lugar, puede verificar si el resultado de su findIndex es> -1 ya que Array.prototype.findIndex devuelve -1 si no se encuentra el elemento.

 const allbooks = [ { id: 1, name: 'Book 1' }, { id: 2, name: 'Book 2' } ]; const userBooks = [ { _id: 1 } ]; const books = allbooks.filter(({ id }) => userBooks.findIndex((book) => book._id === id) > -1 ) console.log(books);

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!