2016-04-13 36 views
-1

Ich versuche mit der Methode jQuery.inArray() nach einem Element in diesem Array zu suchen. Aber es funktioniert Juste, wenn Sie es verwenden, um nach einem einfachen Wort wie "Hallo" oder "wie" im Array unten zu suchen. Ich möchte auch Ergebnisse haben, wenn ich nach "Hilfe" oder "Ich" alleine oder sogar "()" suche, aber ich weiß nicht wie?Suche nach einem Element in einem Array mit jQuery.inArray()

Array 
(
      [0] => Hello 
      [1] => Help me please 
      [2] => I am stucked 
      [3] => I don't know 
      [4] => how 
      [5] => to use 
      [6] => jQuery.inArray() 
      [7] => method 
      [8] => Help 
      [9] => Thank you 
) 
+0

bitte den Quellcode der Dinge, zeigen Sie versucht haben, die nicht – neuhaus

+0

if (jQuery.inArray (texto, tab)! = -1) arbeiten { // Code } –

Antwort

0

Überprüfen Sie für jeden Eintrag im Array, ob der Wert den gesuchten Begriff enthält.

$.each(arr, function(k, v){ 
    if (v.indexOf("SearchWord") >= 0){ 
    alert(k); 
    } 
}); 
0

Sie dies mit der filter() Funktion erfüllen könnten:

// Define your array 
var array = ['Hello','Help me please','I am stucked','I don\'t know','how ','to use','jQuery.inArray()','method','Help','Thank you']; 

// Define your search term 
var search = 'Help'; 

// Find results that match (This would return ['Help me please','Help'] 
var matches = array.filter(function(x){ return x.indexOf(search) >= 0;}); 

Ebenso, wenn Sie Gehäuse ignorieren wollten verwenden, könnte man einfach die toLowerCase() Funktion auf Ihrem vorhandenen Zeichenfolge und Ihren Suchbegriff:

array.filter(function(x){ return x.toLowerCase().indexOf(search.toLowerCase()) >= 0;}); 

Sie können see a working example of this here.

Verwandte Themen