javascript - 如何检查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,即使值存在。我需要知道我的支票出了什么问题以及遗漏了什么。谢谢你。
解决方案
indexOf() 使用严格相等(与 === 或三等号运算符使用的方法相同)将 searchElement 与 Array 的元素进行比较。
$("#add-employeeId").val()
正在返回字符串值,并且您正在将其与int值进行比较。
你的功能应该是:
function isInArray(array, search)
{
return array.indexOf(parseInt(search)) >= 0;
}
推荐阅读
- android - Android以编程方式更改可绘制纯色
- c# - 如何在文件C#中显示所有出现的特定单词
- css - Chrome,如何从 chrome Dev Tools 获取元素 css 样式 url()
- bash - 通过 ssh 使用 argjson 发送 jq
- java - NavigationView 不会自动隐藏
- c# - 带有 rtf 字符串源的 RichTextBox 显示不正确
- python - 如何将解码的数据矩阵写入数据帧
- php - 使用 PHP 进行测验的 3 个选项显示问题
- css - 将元素对齐到其向左浮动的父元素的右侧
- javascript - 我想通过根据我单击的点设置区域来获得“功能”。带框