2016-09-08 2 views
-2

Ich muss Vorkommen eines Strings auf einem Array auf der Clientseite suchen. Die Beispiele auf der JQuery Docs alle verwenden aus irgendeinem Grund Zahlenvergleiche.Vorkommen von String auf Array suchen - JQuery

Grundsätzlich versuche ich zu tun, was im Terminal ist so einfach wie grep pattern < file.txt, aber die Daten stammen aus einem Array anstelle einer Datei.

Dies ist mein Code so weit. Wird nicht viel helfen, aber es wird dir eine Vorstellung davon geben, wie ich das versuche.

var array = [ 
'item 1 shalala', 
'this is other item', 
'more examples', 
'dontknowwhatelsetosay', 
'wildcard' 
]; 

$("#submit").keydown(function(event) { 
    //console.log("Handler for .keydown() called."); 
    var result = $.grep(array, function(value, i){ 
     // No idea what to do. 
     // Will write the array elements that contain the pattern on a div using $('#divId').text(results); 
    }); 
}); 

ich in der Regel auf der unteren Ebene Sprachen arbeiten, ich hoffe, die Antwort nicht zu offensichtlich ist. EDIT: #submit ist in einem Eingabetextfeld.

+1

Haben Sie die Dokumentation für GREP gelesen? http://api.jquery.com/jquery.grep/ Das zeigt, dass Sie eine Rückgabe mit einer truthy Prüfung benötigen, die auf der Schnur in der Eingabe basiert. Wissen Sie, wie Sie den vom Benutzer eingegebenen Wert erhalten? Wissen Sie, wie Sie feststellen können, ob eine Zeichenfolge in einer anderen existiert? – epascarello

+0

Offensichtlich tat. Siehst du nicht, dass ich es verlinkt habe? – TianRB

Antwort

3

indexOf() sucht nach einem Teilstring in einer Zeichenfolge, es gibt seine Position zurück, wenn gefunden, oder -1, wenn nicht gefunden.

var result = $.grep(array, function(value) { 
    return value.indexOf(pattern) != -1; 
} 
+0

Das hat funktioniert, danke – TianRB

Verwandte Themen