JSFiddle - React, Tailwind, and code Playground

JavaScript

// O(n**2)
function replacer(str) {
	const arr = str.split('').map(c => ({ char: c, enabled: true }));
  for (let i = 0; i < arr.length; i += 1) {
  	if (!arr[i].enabled) continue;
    for (let j = i + 1; j < arr.length; j += 1) {
    	if (arr[i].char === arr[j].char) {
      	arr[i].enabled = false;
        arr[j].enabled = false;
        break;
      }
    }
  }
  
  return arr.filter(item => item.enabled).map(item => item.char).join('') || '_';
}

//O(n)
function replacer2(str) {
 const obj = {};
 for (const i of str) {
 	if (!obj[i]) {
  	obj[i] = true;
  } else {
 		delete obj[i];
 	}
 }
 return Object.keys(obj).join('') || '_';
}

console.log(replacer2('abbadddd'));