我有一个数组,我正在尝试使用inArray()检查项目是否不在数组中
var popUpArray = ['join','reset_password','photos','session_expired'];
if($.inArray(urlType, popUpArray) != 0) {
process code...
}
基本上我想在if语句中处理代码,如果urlType变量与数组中的某个值不匹配。
它适用于第一个值'join'但不适用于其他值。我理解这是因为只要它在一个项目上不匹配就会进展。
我想知道如何重新编写这个,所以如果var urlType与数组中的任何项都不匹配,它只会进入IF语句。
THX
答案 0 :(得分:2)
它适用于join,因为它是零索引。试试这个:
if($.inArray(urlType, popUpArray) == -1) {
}
根据文档:
$ .inArray()方法类似于JavaScript的原生.indexOf() 方法,因为它找不到匹配项时返回-1。如果 数组中的第一个元素与value匹配,$ .inArray()返回0。
因为JavaScript将0视为松散等于false(即0 == 假,但是0!== false),如果我们检查是否存在值 在数组中,我们需要检查它是否不等于(或大于) -1