Wie prüfe ich, ob ein Array eine Zeichenkette in TypeScript enthält?
Derzeit bin ich mit Angular 2.0. Ich habe ein Array wie folgt:
var channelArray: Array<string> = ['one', 'two', 'three'];
Wie kann ich in TypeScript überprüfen, ob das channelArray einen String 'three' enthält?
209
3
Dasselbe wie in JavaScript, unter Verwendung von Array.prototype.indexOf():
Oder mit ECMAScript 2016 Array.prototype.includes():
Beachten Sie, dass Sie auch Methoden wie die von @Nitzan gezeigten verwenden können, um eine Zeichenkette zu finden. Allerdings würde man das normalerweise nicht für ein String-Array tun, sondern eher für ein Array von Objekten. Dort waren diese Methoden sinnvoller. Zum Beispiel
Referenz
Array.find()
Array.some()
Array.filter()
Sie können die Methode some method verwenden:
Sie können die find-Methode verwenden:
Oder Sie können die indexOf-Methode verwenden:
Wenn Ihr Code auf ES7 basiert:
Wenn nicht, zum Beispiel, wenn Sie den IE ohne babel transpile verwenden:
die Methode
indexOf
gibt die Position zurück, die das Element im Array hat, deshalb verwenden wir!==
anders als -1, wenn die Nadel an der ersten Position gefunden wird.