JSFiddle - React, Tailwind, and code Playground
by dru_zod
JavaScript
console.clear();
let vowels = ['a', 'e', 'i', 'o', 'u'];
let consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z'];
let domains = ['mail.com', 'mail.co.uk', 'mail.gov.uk'];
let random = function (min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
};
let r = function (array) {
return array[random(0, array.length)];
};
let c = function () {
return r(consonants);
};
let v = function () {
return r(vowels);
};
let domain = function () {
return r(domains);
};
let generate = function () {
let cn = c();
let rn = random(0, 5);
switch (rn) {
case 0:
return c() + v() + c();
case 1:
return v() + v() + c();
case 2:
return c() + v() + v();
case 3:
return v() + c() + c() + 'y';
case 4:
return c() + v() + c() + v();
case 5:
return v() + cn + cn;
}
return c() + v() + cn + cn + 'y';
};
let onlyUnique = function (value, index, self) {
return self.indexOf(value) === index;
};
let getNames = function (n) {
let result = [];
for (let i = 0; i < n; i += 1) {
result.push(generate() + '.' + generate() + '@' + domain());
}
return result.filter(onlyUnique);
};
let outputAll = function (arr) {
for (let i = 0; i < arr.length; i += 1) {
console.log(arr[i]);
}
};
outputAll(getNames(100));