jQuery检入数组并返回true或false

jQuery检入数组并返回true或false,jquery,arrays,logic,Jquery,Arrays,Logic,我有一系列的页面 var $pages = ["events", "template", "privacy", "terms", "mentor", "party", "getinvolved", "tools"]; 我想做的是 if ( $body[0].id !== anyOfThePageInTheArray ) { //do something here }); 如果它们所在的页面不是数组中的页面之一,我该如何处理 我试过.inArray和。每种,但我想可能是我做

我有一系列的页面

var $pages = ["events", "template", "privacy", "terms", "mentor", "party", "getinvolved", "tools"];
我想做的是

  if ( $body[0].id !== anyOfThePageInTheArray ) {
    //do something here
    });
如果它们所在的页面不是数组中的页面之一,我该如何处理

我试过
.inArray
。每种
,但我想可能是我做错了什么。

试试:

if($pages.indexOf($body[0].id) == -1){
    //code here
}
尝试:


本机
数组.indexOf
工作正常:

if ($pages.indexOf($body[0].id) === -1) {
    // It's not in there
}
但如果您坚持使用jQuery:

if ($.inArray($body[0].id, $pages) === -1) {
    // It's not in there
}

本机
数组.indexOf
工作正常:

if ($pages.indexOf($body[0].id) === -1) {
    // It's not in there
}
但如果您坚持使用jQuery:

if ($.inArray($body[0].id, $pages) === -1) {
    // It's not in there
}
你应该使用

if($.inArray($body[0].id,$pages) === -1)
当第二个参数不在数组中时(第一个参数),它将返回-1。否则,它将返回元素的索引

顺便说一下,
$body[0].id
返回例如“events”,或者是一个数字?

您应该使用

if($.inArray($body[0].id,$pages) === -1)
当第二个参数不在数组中时(第一个参数),它将返回-1。否则,它将返回元素的索引


顺便说一下,
$body[0]。id
返回例如“事件”,或者是一个数字?

@karthikr:OP的问题是
$body[0]。id!==AnyOfGeintherray
,因此条件似乎在检查元素是否不在数组中。我不知道为什么它不起作用:/它好像从未检查过整个数组并已返回。@karthikr:OP的问题有
$body[0]。id!==AnyofPaginTharray
,因此它看起来像是在检查元素是否不在数组中。它对我不起作用我不知道为什么:/它好像从来没有检查过整个数组,并且已经返回了。我想它是在返回参数的页面名,然后才返回,如果您可以使用
控制台.log($body[0].id)进行调试;控制台日志($页)要知道出了什么问题…matiaslaporte我想我知道出了什么问题,我忘记了我的右括号,所以这段代码是有效的,但仅供参考,您的等号应该是
==
我想它是在返回参数的页面名称,然后才返回,如果您可以使用
控制台.log($body[0].id)进行调试;控制台日志($页)要知道出了什么问题…matiaslaporte我想我知道出了什么问题,我忘记了我的结束括号,所以这个代码是有效的,但仅供参考,你的等价物应该是
==