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

150
Views
filtro basado en criterios de una matriz de objetos dentro de una matriz en Javascript

Tengo esta matriz:

 defaultColumnsWithItems = [ { column: 'Contrie', items: [ { id: 1, label: 'USA', selectedItem: true }, { id: 2, label: 'FRANCE', selectedItem: false }, { id: 2, label: 'MAROC', selectedItem: false } ] }, { column: 'Categorie', items: [ { id: 0, label: 'Alimentaion', selectedItem: true }, { id: 1, label: 'ricolage', selectedItem: false }, { id: 2, label: 'Literie', selectedItem: true }, { id: 3, label: 'Menage', selectedItem: false }, ] }

];

Quiero filtrar solo los elementos con el elemento seleccionado con un valor igual a verdadero. Intento esto:

 const columnsWithSelectedItems = colmunsWithItemsToFilter.filter((columnWithItems) => { return columnWithItems.items.filter( item => item.selectedItem === true) })

pero devuelve todos los elementos.

Gracias.

about 4 years ago · Santiago Gelvez
2 answers
Answer question

0

En lugar de filtrar las columnas predeterminadas con elementos, debe devolver el objeto completo con la condición para la matriz de elementos.

En este escenario, usamos la función de mapa para devolver nuestro objeto y para la matriz de elementos, usamos la función de filtro para filtrar el elemento seleccionado en cada elemento.

 const defaultColumnsWithItems = [ { column: 'Contrie', items: [ { id: 1, label: 'USA', selectedItem: true }, { id: 2, label: 'FRANCE', selectedItem: false }, { id: 2, label: 'MAROC', selectedItem: false } ] }, { column: 'Categorie', items: [ { id: 0, label: 'Alimentaion', selectedItem: true }, { id: 1, label: 'ricolage', selectedItem: false }, { id: 2, label: 'Literie', selectedItem: true }, { id: 3, label: 'Menage', selectedItem: false }, ] } ] const items = defaultColumnsWithItems.map(el => { return { column: el.column, items: el.items.filter(i => i.selectedItem) } }) console.log('items: ', items);

about 4 years ago · Santiago Gelvez Report

0

Prueba esto

 defaultColumnsWithItems.map(function(ComparisonResult) { ComparisonResult.items = ComparisonResult.items.filter(x => x.selectedItem); return ComparisonResult; });
about 4 years ago · Santiago Gelvez 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!