Comment vérifier si un tableau contient une chaîne dans TypeScript?

Actuellement, j’utilise Angular 2.0. J’ai un tableau comme suit:

var channelArray: Array = ['one', 'two', 'three']; 

Comment puis-je vérifier dans TypeScript si le channelArray contient une chaîne “three”?

Identique à JavaScript, en utilisant Array.prototype.indexOf () :

 console.log(channelArray.indexOf('three') > -1); 

Ou en utilisant ECMAScript 6 Array.prototype.includes () :

 console.log(channelArray.includes('three')); 

Notez que vous pouvez également utiliser des méthodes telles que montré par @Nitzan pour trouver une chaîne. Cependant, vous ne le feriez généralement pas pour un tableau de chaînes, mais plutôt pour un tableau d’objects. Là, ces méthodes étaient plus sensées. Par exemple

 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'}] 

Référence

Array.find ()

Array.some ()

Array.filter ()

Vous pouvez utiliser la méthode suivante :

 console.log(channelArray.some(x => x === "three")); // true 

Vous pouvez utiliser la méthode find :

 console.log(channelArray.find(x => x === "three")); // three 

Ou vous pouvez utiliser la méthode indexOf :

 console.log(channelArray.indexOf("three")); // 2