2016-04-06 6 views
0

Newbie wieder zurück. Ich habe einen Code geschrieben, der ein String-Array mit einer Suchvariablen durchsucht. Die Array-Zeichenfolge wird mit einem bestimmten Datensatz gefüllt. Also das Problem ist, dass ich mit .contains für die Strings "Cola" "Limonade" suchen kann, aber ... Ich habe auch "7 up" und es ist der Raum, der die Probleme verursacht. Und ja, das ist der Punkt - es muss sein „7 up“ Dies ist die for-Schleife durch das Array iterieren Ich verwendeSuchen eines Arrays nach einem Wert, der 2 Teile enthält

  for(int i = 0; i < name.length; i++){ 
       if(name[i].toLowerCase().contains(targetSearch.toLowerCase())) 
        output += name[i] + "\n"; 

und I-Ausgang an den Drucker senden - das ist in Ordnung. Es ist auch validiert, nur eine Zielsuche von mindestens 3 Länge zu akzeptieren. Also, wenn ich 'Lem' - Limonade Drucke eingeben. aber '7 u' besteht nicht meine Validierung von ... if (targetSearch.length() < 3) ... Ursache des Raumes.

Also wie kann ich für den Raum zulassen? Bitte irgendjemand?

+0

Sie machen können ein jsfiddle oder Code-Simulator in hier, so können wir das volle Programm sehen –

Antwort

0

Ich weiß nicht, wie Sie in dem Feld suchen, aber es macht keinen Unterschied, ob ein Raum in einem String ist:

var a = "7 UP"; 
 
var arr = ["Coke", "Fanta", "7 UP", "Sprite"]; 
 

 
document.write(arr.indexOf(a));

+0

Danke für Ihre Antwort. Wie ich schon sagte bin ich ein Newbie und ich benutzte die falsche .nextLine(); Ich habe es auf .next() gestellt; und es hat funktioniert. Hätte ich das ganze Programm gepostet, hättest du es entdeckt. – Denis

Verwandte Themen