Javascript 仅从电子邮件地址数组中获取电子邮件地址域名

Javascript 仅从电子邮件地址数组中获取电子邮件地址域名,javascript,html,Javascript,Html,我已经在stack overflow和google上搜索了一整天,找不到我需要的确切信息。我将从用户那里获得一系列电子邮件地址。前[asdfgg@gmail.com, fgtrreds@yahoo.com, dgfit@gmail.com]. 我想拆分所有电子邮件地址,然后只将[@gmail.com、@yahoo.com]等推送到一个新阵列 这是一个JavaScript函数,我整天都在搞乱它 }在emailname之前,您缺少添加[i]的功能,只需按如下方式操作即可 函数onlyUniquev

我已经在stack overflow和google上搜索了一整天,找不到我需要的确切信息。我将从用户那里获得一系列电子邮件地址。前[asdfgg@gmail.com, fgtrreds@yahoo.com, dgfit@gmail.com]. 我想拆分所有电子邮件地址,然后只将[@gmail.com、@yahoo.com]等推送到一个新阵列

这是一个JavaScript函数,我整天都在搞乱它

}

在emailname之前,您缺少添加[i]的功能,只需按如下方式操作即可

函数onlyUniquevalue、索引、self{ 返回self.indexOfvalue===索引; } 功能电子邮件功能{ var emailNames=[]; var emailDomains=[]; emailNames=['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com'] var len=emailNames.length; 对于变量i=0;iEmailFunction您只需一行即可完成

常量emailNames=['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com']; const result=Object.keysemailNames.mape=>e.split@[1]。reduceo,e=>{…o[e]:null},{};
console.logresult 我只给出唯一的域作为结果。为此,我使用foreach进行迭代,获取域inclusive@with substr和indexof,看看它是否在resultarray中。如果没有,就推到那里

函数getDomainsMail{ 让结果=[]; mailings.forEachmail=>{ 让domain=mail.substrmail.indexOf'@'; 如果result.indexOfdomain==-1 结果:pushdomain; }; 返回结果; } 让邮件=['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com'];
console.loggetDomainsmailings 因为您不希望在最终列表中出现重复项,所以可以这样做

const emailNames = ['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com'];
car emailDomains = [];

for(let i=0; i < emailNames.length; i++) {
    let domain = emailNames[i].split("@")[1];
    if(emailDomains.imdexOf(domain) == -1) {
        emailDomains.push(domain);
    }
}
console.log(emailDomains);

OP在问题中有带@@Gad的独特元素,这很奇怪,因为它在这里工作,但当我把代码放进去时它不工作。我得到了一个包含18个索引的数组。在每个字母之间加一个逗号。我将在我的原始帖子中添加一个图像。检查你是否正确复制了我的所有代码代码代码正常工作这有点容易:OP在问题中有唯一的元素@
const emailNames = ['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com'];
car emailDomains = [];

for(let i=0; i < emailNames.length; i++) {
    let domain = emailNames[i].split("@")[1];
    if(emailDomains.imdexOf(domain) == -1) {
        emailDomains.push(domain);
    }
}
console.log(emailDomains);