Obecnie używam Angular 2.0. Mam tablicę w następujący sposób:
var channelArray: Array<string> = ['one', 'two', 'three'];
Jak mogę sprawdzić w TypeScript, czy channelArray zawiera ciąg „trzy”?
javascript
arrays
typescript
kod1
źródło
źródło
channelArray: string[]
Odpowiedzi:
To samo co w JavaScript, używając Array.prototype.indexOf () :
Lub przy użyciu ECMAScript 2016 Array.prototype.includes () :
Zauważ, że możesz również użyć metod takich jak pokazane przez @Nitzan, aby znaleźć ciąg znaków. Jednak zwykle nie zrobiłbyś tego dla tablicy ciągów, a raczej dla tablicy obiektów. Tam te metody były bardziej sensowne. Na przykład
Odniesienie
Array.find ()
Array.some ()
Array.filter ()
źródło
[ts] Property 'includes' does not exist on type 'string[]'
Pojawia się błąd, czy muszę zaktualizować mój tsconfig, aby obsługiwał tę funkcję ecma 6?"lib": ["es7", "dom"]
Możesz użyć metody :
Możesz użyć metody find :
Lub możesz użyć metody indexOf :
źródło
Jeśli Twój kod jest oparty na ES7:
Jeśli nie, na przykład używasz IE bez transpozycji Babel:
indexOf
sposób powraca pozycji element ma w tablicy ze względu na to, że korzystać!==
różni się od -1 gdy igła znajduje się w pierwszej pozycji.źródło
Zauważ też, że słowo kluczowe „in” nie działa na tablicach. Działa tylko na obiektach.
Test włączenia tablicy jest
źródło
Użyj metody JavaScript Array zawiera ()
Wypróbuj sam » link
Definicja
Zawiera () określa, czy tablica zawiera określony element.
Ta metoda zwraca true, jeśli tablica zawiera element, i false, jeśli nie.
źródło
TS ma wiele metod użyteczności dla tablic, które są dostępne za pośrednictwem prototypu tablic. Istnieje wiele, które mogą osiągnąć ten cel, ale dwie najwygodniejsze do tego celu to:
Array.indexOf()
Bierze dowolną wartość jako argument, a następnie zwraca pierwszy indeks, pod którym dany element można znaleźć w tablicy, lub -1, jeśli nie jest obecny.Array.includes()
Bierze dowolną wartość jako argument, a następnie określa, czy tablica zawiera tę wartość. Metoda zwraca,true
jeśli wartość zostanie znaleziona, w przeciwnym raziefalse
.Przykład:
źródło
Można użyć
filter
teżźródło
rób jak to:
źródło