简体   繁体   English

jQuery.inArray行为异常

[英]jQuery.inArray not behaving as expected

I'm trying to loop through a list of numbers and check if that number is part of another list of numbers using jQuery.each and jQuery.inArray. 我试图遍历一个数字列表,并使用jQuery.each和jQuery.inArray检查该数字是否为另一个数字列表的一部分。 jQuery.inArray does not seem to be behaving as expected. jQuery.inArray似乎不符合预期。

Here is my code: 这是我的代码:

var some_numbers = [1, 2];
var more_numbers = [0, 1, 2];

$.each(more_numbers, function(index, value) {
  if($.inArray(value, some_numbers)) {
    console.log(value);
  }
});

console.log('Some Numbers:');
console.log(some_numbers);

Here is the resulting console output: 这是结果控制台输出:

0
2
Some Numbers:
[1, 2]

Will someone please help? 有人可以帮忙吗? This is maddening. 这太疯狂了。

Edit: Problem solved! 编辑:问题解决了! Changed my condition to this: 更改了我的条件:

if($.inArray(value, some_numbers) !== -1)

Thanks everyone! 感谢大家!

$.inArray returns an index, not a boolean. $.inArray返回一个索引,而不是布尔值。

To check whether the element was found, you need to check whether it's >= 0 . 要检查是否找到了元素,您需要检查它是否>= 0

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM