2017-06-09 3 views
-3
var name = document.getElementById("namebox").value; 

if (array.includes(name) == false) { 
    alert(name + " is not in record.") 
} 

verwenden, die nicht funktionierte und immer false zurückgibt, wie kann man den Scheck auf andere Weise ausdrücken? Sie erleuchten, ich danke Ihnen sehrWie überprüft man, ob ein Array keine Zeichenfolge enthält und als Bedingung

+0

welchen Browser das nicht? –

+0

Diese Frage ist bereits beantwortet [hier] (https://stackoverflow.com/questions/1181575/determine-withther-an-array-contains-a-value) –

+0

Können Sie Ihr 'Array' und Arbeits-Snippet – prasanth

Antwort

3

weil Ihr Array wie

ist
[ "name1,score1", "name2,score2"] 

für "name1" gesucht enthält mit nicht funktionieren

Sie wollen etwas wie

if (!array.some(item => item.split(',')[0] === name)) { 
    alert(name + " is not in record.") 
} 

oder in pre ES2015

if (!array.some(function (item) { 
    return item.split(',')[0] === name; 
})) { 
    alert(name + " is not in record."); 
} 

oder wenn Ihr Browser nicht über funktionierten Array.prototype.some

if (array.filter(function (item) { 
    return item.split(',')[0] === name; 
}).length === 0) { 
    alert(name + " is not in record."); 
} 
+0

sorry ... Array ist der nam e des Arrays .. dann Element ist? ... –

+0

Lesen array.prototype.some Dokumentation –

+0

Die Pfeilfunktion seltsam wahrscheinlich auch Ihnen fremd. Richtig –

1

Sie können versuchen,

if (array.indexOf(name) == -1) { 
    alert(name + " is not in record.") 
} 
Verwandte Themen