2016-08-19 12 views
-4
var arr = ["a","b","c","d","e"]; 

上記のjavascript/jqueryに値が存在するかどうか検索する方法はありますか?Javascript/JQuery検索

$.inArrayが動作し、常に返していません-1

+0

を試してみてください? –

+1

@Robert Columbiaそれは常に-1を返します – MATH000

+2

これはおそらくそれがないことを意味します – Li357

答えて

0

機能が含まれて使用します。

arr.includes('c') 
true 
arr.includes('x') 
false 
0

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   
+0

問題は、組み込みのメソッドがあり、時間のかかるリニア検索が不要です。 – Li357

0

InArrayバリを試してみて、それがあなたのために働く必要があります。

var arr = ["a","b","c","d","e"]; 

if($.inArray(a, arr) != -1){ 
    alert('value is Array!'); 
} else { 
    alert('Not an array'); 
} 
+0

必ず引用符で囲みます – Li357

0

はこのようにそれを試してみてください、 は

if($.inArray("a",arr) != -1) 
{ 
    alert("'a' exixts in Array 'arr' "); 
} 
else 
{ 
    alert("'a' does'nt exixts in Array 'arr' "); 
} 

おかげ

「編曲」、あなたが「」指定された配列に存在するかどうかを確認したいとします
0

あなたは `$ .inArray`をしようとしたときに何が起こったこの

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 
関連する問題