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

102
Views
Cómo encontrar un tipo de objeto específico a partir del valor de cadena contenido en las propiedades de este objeto

Quiero generar una tubería de filtro en Angular que funcione para filtrar el objeto de matriz Car, Brand y Color por su parámetro de tubería correspondiente a su propiedad "carName", "brandName", etc.

Por ejemplo, esta tubería filtrará los colores por su nombre correspondiente al valor del parámetro de tubería de filtro.

Pero quiero hacer que esta tubería filtre en todos los tipos de objetos con su propiedad de nombre (del objeto) que creé con los medios.

Para hacer eso, Todos los objetos deben tener el mismo nombre de propiedad "Nombre". Pero My Objects tiene diferentes propiedades de nombre como;

 carName:string (Car) name:string (Brand) name:string (Color)

Creé una tubería que funciona correctamente en un objeto que solo tiene propiedades de "nombre", pero no puedo hacer que esta tubería funcione también en el objeto Car;

 @Pipe({ name: 'filter', }) export class FilterPipe implements PipeTransform { transform(entityList: any[], filter: string): any[] { filteredList: typeof entityList; if (filter) { filter = filter.toLocaleLowerCase(); return entityList.filter((c) => c.name.toLocaleLowerCase().includes(filter) ); } return entityList; } }

¿Cómo puedo crear una tubería genérica para filtrar objetos con su propiedad de nombre (del objeto) solo con las propiedades del objeto que incluyen la expresión "nombre"?

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

0

No conozco los detalles, como otras propiedades de sus objetos y si están todos agrupados en la misma matriz o si realmente tiene matrices de objetos del mismo tipo, o incluso cómo y dónde usa la tubería, así que esto es solo un ejemplo con algunas suposiciones y datos de maqueta: https://stackblitz.com/edit/base-angular-12-app-qqw1fq

Tu pipa podría ser:

 transform(entityList: any[], filter: string): any[] { let filteredList = entityList; if (filter) { filteredList = []; filter = filter.toLowerCase(); entityList.forEach((c) => { Object.keys(c).forEach((key, i) => { if (key.toLowerCase().includes('name')) { if (c[key].toLowerCase().includes(filter)) { filteredList.push(c); } } }); }); } return filteredList; }
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!