首页 > 解决方案 > 仅从电子邮件地址数组中获取电子邮件地址域名

问题描述

在此处输入图像描述

我整天都在堆栈溢出和谷歌上搜索,但找不到我需要的确切内容。我有一系列从用户那里获得的电子邮件地址。Ex. [asdfgg@gmail.com, fgtrreds@yahoo.com, dgfit@gmail.com]. 我想拆分所有电子邮件地址,然后将[@gmail.com, @yahoo.com]等推送到新数组。

这是我一整天都在弄乱的 JavaScript 函数

function EmailFunction() {
var emailNames = [];
var emailDomains = [];

emailNames = $("#emailing").val();

var len = emailNames.length;
for (var i = 0; i < len; i++) {

   var domain = emailNames.split("@").pop();
    emailDomains.push(domain);
}
console.log("Email Domains = " + domain);

console.log("Function Names = " + emailNames);

}

标签: javascripthtml

解决方案


在像下面这样做[i]之前你错过了添加emailNames

function onlyUnique(value, index, self) {
  return self.indexOf(value) === index;
}

function EmailFunction() {
  var emailNames = [];
  var emailDomains = [];
  emailNames = ['asdfgg@gmail.com', 'fgtrreds@yahoo.com', 'dgfit@gmail.com']
  var len = emailNames.length;
  for (var i = 0; i < len; i++) {
    var domain = emailNames[i].split("@").pop();
    emailDomains.push(domain)
    var unique = emailDomains.filter(onlyUnique);
  }
  console.log(unique)
}
EmailFunction()


推荐阅读