JavaScript Array 和 jQuery inArray 导致第一个数组值出现问题

标签 javascript jquery arrays

基本上,这是我正在使用的代码的虚拟版本,我将解释正在发生的事情:

var types = ['type1', 'type2', 'type3', 'type4', 'type5'],
    type = 'type1';

if ($.inArray(type, types)) {
    alert('In Array');
} else {
    alert('Not In Array');
}

它不在数组中,而如果我更改 type值到“type2”或数组中的任何其他值,它表示它在数组中。现在,如果我在数组的开头添加一个空白值,如下所示:

var types = ['', 'type1', 'type2', 'type3', 'type4', 'type5']

输入 type值返回到“type1”,它现在告诉我它在数组中。我可能错过了一些明显的东西,我不确定哈。但我只是有点困惑,当第一个数组值是实际值时,为什么它不接受它是数组中的第一个?如果有人能对此有所启发,我们将不胜感激!

最佳答案

使用 $.inArray 时,您必须实际检查 -1,否则第一个索引将返回 0,这是错误的

if ($.inArray(type, types) != -1) {
    alert('In Array');
} else {
    alert('Not In Array');
}

关于JavaScript Array 和 jQuery inArray 导致第一个数组值出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22727845/

相关文章:

javascript - Angular - 自定义元素不适用于 Firefox 和 Microsoft Edge 和 Internet Explorer

jquery - 在jQuery中调用knockout viewmodel函数

javascript - 是否可以通过模板内的 JS 访问发送到 handlebars 的数据?

php - jQuery setInterval 防止异步 ajax 调用

用于匹配 CSS 注释开头和结尾的 Javascript 正则表达式

javascript - 如何在 Nest.js 中为 @Body 构造 DTO

ios - Swift 设置数组自定义排序

php - 如何合并每个数组具有不同元素数的二维数组

c++ - 指向用数组初始化的矩阵的指针数组

javascript - 整个站点覆盖 div?