Saat ini saya menggunakan Sudut 2.0. Saya memiliki sebuah array sebagai berikut:
var channelArray: Array<string> = ['one', 'two', 'three'];
Bagaimana saya dapat periksa di Ketangkasan apakah channelArray berisi string 'tiga'?
Sama seperti di JavaScript, menggunakan Array.prototipe.indexOf():
console.log(channelArray.indexOf('three') > -1);
Atau menggunakan ECMAScript 2016 Array.prototipe.termasuk():
console.log(channelArray.includes('three'));
Perhatikan bahwa anda juga bisa menggunakan metode seperti yang ditunjukkan oleh @Nitzan untuk menemukan string. Namun anda tidak't biasanya melakukan itu untuk sebuah string array, melainkan untuk sebuah array dari objek. Ada metode-metode yang lebih masuk akal. Misalnya
const arr = [{foo: 'bar'}, {foo: 'bar'}, {foo: 'baz'}];
console.log(arr.find(e => e.foo === 'bar')); // {foo: 'bar'} (first match)
console.log(arr.some(e => e.foo === 'bar')); // true
console.log(arr.filter(e => e.foo === 'bar')); // [{foo: 'bar'}, {foo: 'bar'}]
Referensi
Anda dapat menggunakan beberapa metode:
console.log(channelArray.some(x => x === "three")); // true
Anda dapat menggunakan menemukan metode:
console.log(channelArray.find(x => x === "three")); // three
Atau anda dapat menggunakan indexOf metode:
console.log(channelArray.indexOf("three")); // 2
Jika kode anda ES7 berdasarkan:
channelArray.includes('three'); //will return true or false
Jika tidak, misalnya anda menggunakan IE dengan tidak babel transpile:
channelArray.indexOf('three') !== -1; //will return true or false
the indexOf
method ini akan mengembalikan posisi elemen ke dalam array, karena itu kita menggunakan !==
berbeda dari -1 jika jarum ditemukan di posisi pertama.
Juga perhatikan bahwa "dalam" kata kunci tidak bekerja pada array. Ia bekerja pada benda saja.
propName in myObject
Array dimasukkannya tes
myArray.includes('three');
Menggunakan JavaScript Array meliputi() Metode
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var n = fruits.includes("Mango");
Coba Sendiri » link
Definisi
Yang termasuk () metode menentukan apakah sebuah array berisi ditentukan elemen.
Metode ini mengembalikan true jika array berisi elemen, dan false jika tidak.
TS memiliki banyak utilitas metode untuk array yang tersedia melalui prototipe dari Array. Ada beberapa yang dapat mencapai tujuan ini, tetapi dua yang paling nyaman untuk tujuan ini adalah:
Array.indexOf()
Mengambil nilai apapun sebagai argumen dan kemudian kembali indeks pertama di mana elemen tertentu dapat ditemukan dalam array, atau -1 jika tidak hadir.Array.termasuk()
Mengambil nilai apapun sebagai argumen dan kemudian menentukan apakah sebuah array mencakup nilai ini. Metode mengembalikan true
jika nilai ditemukan, jika tidak palsu
.Contoh:
var channelArray: string[] = ['one', 'two', 'three'];
console.log(channelArray.indexOf('three')); // 2
console.log(channelArray.indexOf('three') > -1); // true
console.log(channelArray.indexOf('four') > -1); // false
console.log(channelArray.includes('three')); // ture