javascript - jQuery.inArray 的行为不符合预期

标签 javascript jquery

我正在尝试循环遍历数字列表,并使用 jQuery.each 和 jQuery.inArray 检查该数字是否是另一个数字列表的一部分。 jQuery.inArray 的行为似乎没有达到预期。

这是我的代码:

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);

这是控制台输出结果:

0
2
Some Numbers:
[1, 2]

有人可以帮忙吗?这太令人抓狂了。

编辑:问题已解决!将我的条件更改为:

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

谢谢大家!

最佳答案

$.inArray返回一个索引,而不是 bool 值。

要检查是否找到该元素,您需要检查它是否为>= 0

关于javascript - jQuery.inArray 的行为不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4304536/

相关文章:

php - jquery 到 php 翻译器?

javascript - 将图像放在一起并在窗口加载时为图像设置动画

javascript - 触发点击事件后触发函数

javascript - jquery 搜索表格单元格 -> 更新相邻单元格

javascript - 如何反转()关联数组(对象)?

javascript - 单击 Div 向右滚动

javascript - jQuery:验证多个电子邮件

javascript - JQuery 选择器 - 完整扫描还是优化扫描?

javascript - 在 Node.js 中将声音传送到扬声器时的音频漂移

javascript - 仅从 firebase : Angularfire 检索父元素