无法从列表中删除重复项

时间:2015-08-31 00:16:37

标签: javascript

//get email from test area

var emailList = document.getElementById("emailTextarea").value;
var emailListArray = emailList.split("\n");

//Remove yahoo and duplicates from the list

var usernamesArray = emailListArray.map(function(val, index, arr) {
    return val.slice(0, val.indexOf('yahoo.com'));
});

1 个答案:

答案 0 :(得分:0)

假设:

emailListArray = ['123@gmail.com','123@yahoo.com','123@gmail.com','123@hotmail.com']

您可以这样做:

var usernamesArray = [];
emailListArray.forEach(function(item) {
     if(usernamesArray.indexOf(item) < 0 && item.indexOf('yahoo.com') < 0) {
         usernamesArray.push(item);
     }
});

第一个条件检查元素是否已经不在结果数组中,第二个条件检查元素是否包含子串yahoo.com,如果两者都是true,元素被添加到结果中。

之后,usernamesArray应该:

[ '123@gmail.com', '123@hotmail.com' ]