2016-07-30 8 views
-1

ich folgende Javascript-Code haben:Wie Array Zeichenfolge zu vergleichen und variable erhöhen pro Ergebnis

var test = ['hello', 'my', 'name']; 

    for (var i = 0; i < data.length; i++) { 
    if (test === "name") { 
     //In the array! 
     ct = "found"; 
    } else { 
     ct = "not found"; 
    } 
    }; 

Hier habe ich in data durch die Menge von Arrays Schleife versuche, lassen Sie uns 100 Ergebnisse sagen, und dann bestimmen, ob var test die Array-Zeichenfolge 'name' enthält.

Ich habe dies ausgeführt und das Ergebnis von ct im Konsolenprotokoll ausgedruckt und jedes Mal ct als 'nicht gefunden' ausgedruckt.

Der Punkt davon ist zu finden, wie viele Zeichenfolgen von was ich test dort in einem Array definieren.

+0

Hinweis: Sie verwenden nicht die 'i' ist überall variabel. – zerkms

+0

Hinweis: Verwenden Sie indexOf(), anstatt das Array und die Zeichenfolge zu vergleichen –

+0

Was möchten Sie erreichen? Was ist deine 'Daten'-Variable? Sie durchlaufen es, aber der Code, der innerhalb der for-Schleife ausgeführt wird, steht nicht in Beziehung zu 'data'. 'test' kann nicht gleich' 'name'' sein, weil 'test' ein Array ist. – zoom

Antwort

1

Wenn Sie nur dann, wenn ein Produkt finden möchten, ist vorhanden, dann können Sie

var test = ["hello","my","name"]; 
var element = "hello"; 
var index = test.indexOf(element); 
if(index != -1){ 
    //it exists 
    console.log(element + " exists at index " + index); 
}else{ 
    //it doesn't 
    console.log(element + " doesn't exist in array"); 
} 

verwenden Wenn Sie lieber eine Schleife durch Array wollen, wie Sie begann:

var test = ['hello', 'my', 'name']; 
    var name = "hello"; 
    var ct = null; 
    for (var i = 0; i < data.length; i++) { 
    if (test[i] === name) { 
     //In the array! 
     ct = "found"; 
     break; // if next element is not name, so if you found break 
    } else { 
     ct = "not found"; 
    } 
    }; 
    console.log(ct); 
Verwandte Themen