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;
}