【发布时间】:2016-11-10 09:48:56
【问题描述】:
我想将项目添加到跳过重复项的数组中。但是由于某种原因,只添加了一项,而没有添加第二项。这是我的代码。
var add = ['email1@gmail.com', 'email2@gmail.com', 'email1@gmail.com'];
var main_messages = []
var from
function findMessages(messageList) {
return messageList = from;
}
add.map(function(map){
from = map
if(main_messages.find(findMessages) === undefined){
main_messages.push(map)
}
});
console.log(main_messages)
所以预期的输出应该是
['email1@gmail.com', 'email2@gmail.com']
但我在这段代码中得到的输出只是
['email1@gmail.com']
我做错了什么,我该如何解决这个问题?
【问题讨论】:
-
只是一个提示,map 为每个元素返回一个返回值。如果未设置,则为
undefined。你可能会寻找过滤器,如果返回一个真实值,它会返回项目。
标签: javascript