Efectivamente, las funciones de manipulación de cadenas con expresiones regulares suelen quedar muy bonitas, el caso es hacerlas uno mismo. A veces es complicado ;)
A mi personalmente me parece esta manera la más limpia de quitar los acentos (tildes) y otros caracteres un poco conflictivos de las cadenas, ya sea para hacer búsquedas, usarlas para URL, slug o lo que necesites.
La solución la tienes en stackoverflow.
Básicamente hace uso de características nativas del navegador, en versiones modernas de Javascript, que siendo nativas es de suponer que darán mucho más rendimiento que las maneras programadas manualmente para hacer lo mismo.
La función en sí es la siguiente:
const removeAccents = (str) => {
return str.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
}
La usas así:
var cadena = removeAccents('La uña se me rompió después de beber cachaça');
console.log(cadena); // esto muestra en la consola el texto "La una se me rompio despues de beber cachaca"