我有一个像这样的字符串数组
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循环中,我必须检查列入候选数组中的名字是否存在。
这些是我从浏览器控制台日志中复制的值
先生。埃弗雷姆邦飞利
先生。贾尔斯福斯特
使用上面的文本检查条件工作正常,但如果我尝试使用数组字符串检查值,则它无法正常工作。但文字与任何想法都相似吗?
答案 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');
}