使用javascript变量检查条件是否正确

时间:2015-09-08 04:03:12

标签: javascript jquery if-statement

我有一个像这样的字符串数组

function checkAlreadyShortlisted()
{
    var shortListed = new Array();                    
    shortListed = '["Mr. Andrew Severinsen", "Mr. Tom Herron", "Ms. Samantha Smithson-Biggs", "Mr. Efrem Bonfiglioli", "Mr. Giles Forster"]';
    var candidateName = '';

    $('.searchResultCandidateDiv').each(function(i, obj) {

        candidateName = $(this).find('.viewResumeAnchor').text();  // Get the text from the particular div
        console.log(candidateName);

        if(candidateName == shortListed[4])   // Copied the value from Set
            {
            console.log('Got from Set');
        }              
        else if(shortListed[4] == "Mr. Giles Forster") // Copied the value from anchor
        {
            console.log('Got from Anchron text');
        }
    });
}

在div循环中,我必须检查列入候选数组中的名字是否存在。

这些是我从浏览器控制台日志中复制的值

  

先生。埃弗雷姆邦飞利

     

先生。贾尔斯福斯特

使用上面的文本检查条件工作正常,但如果我尝试使用数组字符串检查值,则它无法正常工作。但文字与任何想法都相似吗?

1 个答案:

答案 0 :(得分:1)

变量shortListed不保存数组值,而是保存字符串。删除它周围的引用'

shortListed = ["Mr. Andrew Severinsen", "Mr. Tom Herron", "Ms. Samantha Smithson-Biggs", "Mr. Efrem Bonfiglioli", "Mr. Giles Forster"];

然后您就可以通过shortListed[0], shortListed[1], shortListed[n],..

访问它了

检查数组值的更简单方法包含一些内容,我想在jQuery中使用$.inArray()内置函数。 如果值不存在则此函数将返回-1,否则将返回索引(如果找到)。请参阅下面的示例如何使用它:

if ( $.inArray('Mr. Tom Herron',shortListed) !== -1 ) {    
  alert('Found it');
}

DEMO