Saat ini saya menggunakan Angular 2.0. Saya memiliki array sebagai berikut:
var channelArray: Array<string> = ['one', 'two', 'three'];
Bagaimana saya bisa mengecek dalam TypeScript apakah channelArray berisi string 'tiga'?
javascript
arrays
typescript
kode1
sumber
sumber
channelArray: string[]
Jawaban:
Sama seperti di JavaScript, menggunakan Array.prototype.indexOf () :
Atau menggunakan ECMAScript 2016 Array.prototype.includes () :
Perhatikan bahwa Anda juga bisa menggunakan metode seperti yang ditunjukkan oleh @Nitzan untuk menemukan string. Namun Anda biasanya tidak akan melakukannya untuk array string, melainkan untuk array objek. Di sana metode-metode itu lebih masuk akal. Sebagai contoh
Referensi
Array.find ()
Array.some ()
Array.filter ()
sumber
[ts] Property 'includes' does not exist on type 'string[]'
kesalahan, apakah saya perlu memperbarui tsconfig saya untuk mendukung fitur ecma 6 ini?"lib": ["es7", "dom"]
Anda dapat menggunakan beberapa metode :
Anda dapat menggunakan metode temukan :
Atau Anda dapat menggunakan metode indexOf :
sumber
Jika kode Anda berbasis ES7:
Jika tidak, misalnya Anda menggunakan IE tanpa transpile babel:
yang
indexOf
metode akan mengembalikan posisi elemen memiliki ke dalam array, karena yang kita gunakan!==
berbeda dari -1 jika jarum ditemukan di posisi pertama.sumber
Perhatikan juga bahwa kata kunci "in" tidak berfungsi pada array. Ini bekerja hanya pada objek.
Tes inklusi array adalah
sumber
Gunakan JavaScript Array meliputi () Metode
Coba tautan " Coba Sendiri»
Definisi
Metode include () menentukan apakah array berisi elemen yang ditentukan.
Metode ini mengembalikan true jika array berisi elemen, dan false jika tidak.
sumber
TS memiliki banyak metode utilitas untuk array yang tersedia melalui prototipe Array. Ada beberapa yang dapat mencapai tujuan ini tetapi dua yang paling nyaman untuk tujuan ini adalah:
Array.indexOf()
Mengambil nilai apa pun sebagai argumen dan kemudian mengembalikan indeks pertama di mana elemen yang diberikan dapat ditemukan dalam array, atau -1 jika tidak ada.Array.includes()
Mengambil nilai apa pun sebagai argumen dan kemudian menentukan apakah array menyertakan nilai ini. Metode mengembalikantrue
jika nilai ditemukan, jika tidakfalse
.Contoh:
sumber
Anda bisa menggunakannya
filter
jugasumber
lakukan seperti ini:
sumber