JSFiddle - React, Tailwind, and code Playground

JavaScript

var ignorar = ["das", "dos", "e", "é", "do", "da", "de"];
function caixaAlta(string) {
    return String(string).replace(/([^A-zÀ-ú]?)([A-zÀ-ú]+)/g, function(match, separator, word) {
        if (ignorar.indexOf(word) != -1) return separator + word;
        return separator + word.charAt(0).toUpperCase() + word.slice(1);
    });
}

var testes = ['a música é universal', 'a democracia é de todos'].map(caixaAlta);
console.log(JSON.stringify(testes)); // ["A Música é Universal","A Democracia é de Todos"]