JSFiddle - React, Tailwind, and code Playground

HTML

<div id="res"></div>

JavaScript

codes = [];
genCodes(10);
displayCodes();

function displayCodes(){
	let i, s = '';
	for(i = 0; i < codes.length; i++){
  	s += codes[i] + '<br>';
  }
  res.innerHTML = s;
}

function genCodes(n){
	code = '';
	for(let i = 0; i < 4; i++){
  	if(i)code += '-';
    code += randString(4);
  }

	if(codes.indexOf(code) !== -1){
  	return genCodes(n);
  }
  codes.push(code);
  if(n > 1)genCodes(n - 1);
}

function randString(l, c){
	c = c || 'QWERTYUIOP1234567890';
  let s = '', i;
	for(i = 0; i < l; i++){
		s += c.charAt(Math.floor(Math.random() * c.length));
	}
	return s;
}