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

159
Visualizações
Lista de categorías de un Blog con la directiva Angular ngFor

Solo quiero enumerar las categorías de un Blog en Angular. Cuando uso ngFor, muestra una lista de las categorías pero trae algunas repetidas, como si trajera todos los blogs y no solo las categorías que comparten algunos de ellos. Espero haber sido claro en esta pregunta.

Este es mi html:

 <aside class="categories"> <h2 class="aside-title">Categorias</h2> <ul *ngFor="let data of datas; index as i"> <li class="nav-elipse-blue"><a [routerLink]="['/pagina',datas.category]" title="Blog CSS articles">{{ data.category.name }}</a></li> </ul> </aside>
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Parece que necesita eliminar los duplicados de su matriz.

Basado en esta respuesta , puedes hacer esto:

 const uniqueCategorias = datas.filter((value, index) => { const _value = JSON.stringify(value); return index === obj.arr.findIndex(obj => { return JSON.stringify(obj) === _value; }); });

y úsalo:

 <ul *ngFor="let data of uniqueCategorias; index as i"> <li class="nav-elipse-blue"><a [routerLink]="['/pagina',datas.category]" title="Blog CSS articles">{{ data.category.name }}</a></li> </ul>

y en el archivo TypeScript:

 uniqueCategorias; getUniqueCategorias(){ uniqueCategorias = datas.filter((value, index) => { const _value = JSON.stringify(value); return index === obj.arr.findIndex(obj => { return JSON.stringify(obj) === _value; }); }); }
about 4 years ago · Juan Pablo Isaza Relatório

0

myCategories(datas: any){ let newArr = []; let uniqueArray:any; datas.forEach((item, index) => { newArr.push(item.category.name); uniqueArray = newArr.filter(function(item, pos, self) { return self.indexOf(item)===pos; }) }); return uniqueArray;

}

about 4 years ago · Juan Pablo Isaza Relatório

0

Primero debe eliminar los duplicados de una matriz y luego debe usar * ngFor.

Puede eliminar duplicados de diferentes maneras:

  1. usando conjunto

     let data = ['A', 'B', 'A', 'C', 'B']; let uniqueData = [...new Set(data)];
  2. Usando forEach() e include() :

     let data = ['A', 'B', 'A', 'C', 'B']; let uniqueData = []; data.forEach((c) => { if (!uniqueData.includes(c)) { uniqueData.push(c); } });

Hay otros métodos, pero estos son más comprensibles.

Después de eso en tu HTML

 <ul *ngFor="let data of uniqueData"> <li>{{category}}</li> </ul>
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