首页 > 解决方案 > 如何检查javascript中的数组中是否存在值?

问题描述

我的 laravel 刀片文件中有一个数组,并在 javascript 中按以下方式访问它:

var test = {!! json_encode($test) !!};

当我在控制台中打印测试变量时,它会打印如下变量:

可变测试控制台打印

我有一个表单输入值访问如下:

$("#add-employeeId").val()

当我在控制台中打印此值时,它会打印如下值:

表单输入

现在我需要检查表单输入是否存在于测试变量中,如下所示:

function isInArray(array, search)
    {
        return array.indexOf(search) >= 0;
    }

//check
isInArray(test, $("#add-employeeId").val())

但这总是返回 false,即使值存在。我需要知道我的支票出了什么问题以及遗漏了什么。谢谢你。

标签: javascriptarrayslaravelindexof

解决方案


indexOf() 使用严格相等(与 === 或三等号运算符使用的方法相同)将 searchElement 与 Array 的元素进行比较。

$("#add-employeeId").val()正在返回字符串值,并且您正在将其与int值进行比较。

你的功能应该是:

function isInArray(array, search)
{
    return array.indexOf(parseInt(search)) >= 0;
}

推荐阅读