jQuery检入数组并返回true或false

时间:2013-06-13 19:41:14

标签: jquery arrays logic

我有一个页面数组

var $pages = ["events", "template", "privacy", "terms", "mentor", "party", "getinvolved", "tools"];

我想做的是

  if ( $body[0].id !== anyOfThePageInTheArray ) {
    //do something here
    });

如果他们所在的页面不是数组中的页面之一,我该怎么办呢。

我尝试过.inArray.each,但我想也许我做错了什么。

3 个答案:

答案 0 :(得分:2)

尝试:

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

答案 1 :(得分:2)

原生Array.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
}

答案 2 :(得分:2)

你应该使用

if($.inArray($body[0].id,$pages) === -1)

当第二个参数不在数组(第一个参数)中时,它将返回-1。否则,它返回元素的索引。

顺便说一句,$body[0].id会返回,例如“事件”,还是一个数字?