var arr = ["a","b","c","d","e"];
我如何搜索一个值是否存在于上面的javascript/jquery中?Javascript/jQuery搜索
的$.inArray
不工作,总是返回-1
var arr = ["a","b","c","d","e"];
我如何搜索一个值是否存在于上面的javascript/jquery中?Javascript/jQuery搜索
的$.inArray
不工作,总是返回-1
使用包括功能:
arr.includes('c')
true
arr.includes('x')
false
自定义功能
function contains(arr, obj) {
var i = arr.length;
while (i--) {
if (arr[i] === obj) {
return true;
}
}
return false;
}
使用例如:
var arr = new Array(1, 2, 3);
contains(arr, 2);//return true
contains(arr, 4);//return false
事情是,有内建方法,不需要费时的线性搜索 – Li357
尝试inArray,并应为你工作:
var arr = ["a","b","c","d","e"];
if($.inArray(a, arr) != -1){
alert('value is Array!');
} else {
alert('Not an array');
}
请确保将引号括起来 – Li357
尝试像这样, 假设你要检查,如果“一”给定的阵列上存在“改编”,
if($.inArray("a",arr) != -1)
{
alert("'a' exixts in Array 'arr' ");
}
else
{
alert("'a' does'nt exixts in Array 'arr' ");
}
感谢
试试这个
var arr = ["a","b","c","d","e"];
var char = 'c';
arr.indexOf(char) // return 2
var char = 'x';
arr.indexOf(char) // return -1
if(arr.indexOf(char) != -1) {
// found
}
arr.findIndex(function(char){ return char === 'c' }) // return 2
当你试图'$ .inArray'发生了什么? –
@罗伯特哥伦比亚它始终返回-1 – MATH000
这可能意味着它不存在 – Li357