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