基本上,如果在candidate_ignore数组中找到候选ID,那么它们应该被添加到被拒绝的列表中, 否则他们将被添加到包含列表
除了id 33之外的所有候选人都在列表中。但出于某种原因,包含id 33的那个被拒绝
请参阅此screenshot
正如您在控制台中看到的那样,33不在忽略列表中,因此应包括在内。但无论出于何种原因,23即使他在忽略列表中也被包括在内?
代码:
if($.inArray(cand.id, candidates_ignore)) {
$results_rejected.append(output);
}
else {
$results_included.append(output);
}
完整代码:
答案 0 :(得分:1)
来自jQuery网站:
$ .inArray()方法类似于JavaScript的原生.indexOf()方法,因为它在找不到匹配项时返回-1。如果数组中的第一个元素与value匹配,则$ .inArray()返回0.
因为JavaScript将0视为松散等于false(即0 == false,但是0!== false),要检查数组中是否存在值,您需要检查它是否不等于(或大于)-1。
值之间的比较是严格的。以下将返回-1(未找到),因为正在搜索字符串数组中的数字:
if($.inArray(cand.id, candidates_ignore)<0) {
$results_rejected.append(output);
}
else {
$results_included.append(output);
}