2014-02-20 54 views
0

所以我有一个程序发送电子邮件。用户具有无法发送到的电子邮件列表。这些是在数组中,我需要使用if语句来确定用户输入的内容是否在电子邮件数组中。我试过的功能没有工作,但我可能只是使用它错了。我尝试了循环和if语句里面。但那也没用。以下是代码Im的快照,用于帮助您了解即时消息尝试执行的操作。数组和if语句。如何检查值是否在数组中? * javascript *

function test2(){ 
    var safe = [1] 
    safe[1] = "lol" 
    safe[2] = "yay" 

    var entry = "lol" 
    Logger.log("entry: " + entry) 
    for(i = 0; i < safe.length; i++){ 
    if(entry == safe[i]){ 
     Logger.log("positive") 
    }else{ 
     Logger.log("negative") 
    } 
    } 
} 

这是我与试图在功能上告诉你,如果我做错了

function test(){ 
    var safe = [1] 
    safe[1] = "lol" 
    safe[2] = "yay" 

    var entry = "losl" 
    Logger.log("entry: " + entry) 
    if(entry in safe){ 
    Logger.log("came positive") 
    }else{ 
    Logger.log("came negative") 
    } 
    Logger.log(safe) 
} 
+0

你想用'var safe = [1]'完成什么? – ltalhouarne

回答

0

array.indexOf(element) > -1通常不会对这些情况的伎俩!另外

if (array.indexOf(emailToSendTo) < 0) { 
    // send 
} 

,检查这个很酷的事情了:

要在此展开

emailsToSend = emailsToSend.filter(function(x) { 
    // basically, this returns "yes" if it's not found in that other array. 
    return arrayOfBadEmails.indexOf(x) < 0; 
}) 

这样做是它过滤emailsToSend的名单,确保它不是一个坏的电子邮件。可能有一个更优雅的解决方案,但它很整洁。

+0

非常感谢这个工作,除非你说“//不发送”原来是发送的部分。但是,谢谢我真的很困惑!这些darn数组:P – ZeroByter

+0

哈!不小心把我的方法弄错了,但是这样做更好。 – statue