Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param {string[]} emails
- * @return {number}
- */
- var numUniqueEmails = emails => {
- return emails.reduce((validMails, mail) => {
- const names = mail.split('@');
- let [local, domain] = names;
- const iPlus = [...local].findIndex(x => x === '+');
- if (iPlus !== -1) { local = local.substr(0, iPlus); }
- const key = local.split('.').join('') + '@' + domain;
- if (!validMails.has(key)) { validMails.add(key); }
- return validMails
- }, new Set).size;
- };
- /**
- * @param {string[]} emails
- * @return {number}
- */
- var numUniqueEmails2 = emails => {
- const validMails = new Set();
- for (const mail of emails) {
- let [local, domain] = mail.split('@');
- const iPlus = [...local].findIndex(x => x === '+');
- if (iPlus !== -1) { local = local.substr(0, iPlus); }
- const key = [...local].filter(x => x !== '.').join() + '@' + domain;
- if (!validMails.has(key)) { validMails.add(key); }
- }
- return validMails.size;
- };
- /**
- * @param {string[]} emails
- * @return {number}
- */
- var numUniqueEmails3 = emails => {
- const validMails = new Set();
- for (const mail of emails) {
- let [local, domain] = mail.split('@');
- local = local.replace(/+(.*)$/, '')
- .replace(/./g, '');
- console.log(local);
- const key = `${local}@${domain}`;
- if (!validMails.has(key)) { validMails.add(key); }
- }
- return validMails.size;
- };
- const names = mail.split('@');
- let [local, domain] = names;
- let [local, domain] = mail.split('@');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement