我有一个JavaScript变量,用于存储用户在界面中插入的电子邮件ID。

var contacts="[email protected],[email protected],[email protected],[email protected]"


在此变量中存储了重复的电子邮件ID。如何删除重复变量并存储每个变量的一次出现?

最佳答案

如果您使用的是underscorelodash,则:

contacts = _.unique(contacts.split(',')).join(',');


如果没有,请执行以下操作:

var emails = contacts.split(',');
    seenEmails = {},
    newContacts = [];

for(var i = 0; i < emails.length; i++) {
  if(!seenEmails[emails[i]]) {
    seenEmails[emails[i]] = true;
    newContacts.push(emails[i]);
  }
}

contacts = newContacts.join(',');


这将适用于所有不带库的浏览器,并且比indexOf效率更高。

关于javascript - 删除JavaScript变量中以逗号分隔格式存储的重复电子邮件ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17986706/

10-09 23:57