JSFiddle - React, Tailwind, and code Playground
JavaScript
const underscoreIfEmpty = string => string.length ? string : '_';
const removeLetters = lettersArr => pred =>
Array.from(new Set(lettersArr.split('')
.filter(l => !pred(l, lettersArr)))).join('');
const predicate = (letter, string) =>
string.match(new RegExp(letter, 'gi')).length % 2 === 0;
console.log(underscoreIfEmpty(removeLetters('aabbbc')(predicate)));
console.log(underscoreIfEmpty(removeLetters('abbadddd')(predicate)));
console.log(underscoreIfEmpty(removeLetters('abaadd')(predicate)));