Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

115
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda