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

113
Vistas
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 Respuestas
Responde la pregunta

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 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