eu fiz usando expressões regulares
filtrarContatoTexto(): Contato[] {
if (!this.filtroTexto) {
return this.contatos
}
return this.contatos.filter(contato => {
return contato.nome.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').includes(this.filtroTexto.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, ''))
})
}
filtrarContatos(letra: string): Contato[] {
return this.filtrarContatoTexto().filter(contato => {
return contato.nome.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '').startsWith(letra.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, ''))
})
}