J'utilise actuellement Angular 2.0. J'ai un tableau comme suit :
var channelArray: Array<string> = ['one', 'two', 'three'];
Comment puis-je vérifier en TypeScript si le channelArray contient la chaîne 'three' ?
J'utilise actuellement Angular 2.0. J'ai un tableau comme suit :
var channelArray: Array<string> = ['one', 'two', 'three'];
Comment puis-je vérifier en TypeScript si le channelArray contient la chaîne 'three' ?
De la même manière qu'en JavaScript, en utilisant Array.prototype.indexOf() :
console.log(channelArray.indexOf('three') > -1);
Ou en utilisant ECMAScript 2016 Array.prototype.includes() :
console.log(channelArray.includes('three'));
Notez que vous pouvez également utiliser des méthodes comme celles montrées par @Nitzan pour trouver une chaîne de caractères. Cependant, vous ne feriez généralement pas cela pour un tableau de chaînes de caractères, mais plutôt pour un tableau d'objets. Dans ce cas, ces méthodes sont plus judicieuses. 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
Je reçois un [ts] Property 'includes' does not exist on type 'string[]'
erreur, dois-je mettre à jour mon tsconfig pour supporter cette fonctionnalité d'ecma 6 ?
Vous pouvez utiliser le une méthode :
console.log(channelArray.some(x => x === "three")); // true
Vous pouvez utiliser le méthode de recherche :
console.log(channelArray.find(x => x === "three")); // three
Ou vous pouvez utiliser le méthode indexOf :
console.log(channelArray.indexOf("three")); // 2
Si votre code est basé sur ES7 (ou les versions supérieures) :
channelArray.includes('three'); //will return true or false
Si ce n'est pas le cas, vous utilisez par exemple IE sans babel transpile :
channelArray.indexOf('three') !== -1; //will return true or false
le site indexOf
retournera la position de l'élément dans le tableau, c'est pour cela que nous utilisons !==
différent de -1 si l'aiguille est trouvée à la première position.
Utilisez JavaScript Array includes() Méthode
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var n = fruits.includes("Mango");
Essayez vous-même " lien
Définition
El inclut() détermine si un tableau contient un élément spécifié.
Cette méthode renvoie vrai si le tableau contient l'élément, et faux sinon.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
22 votes
Il devrait être
channelArray: string[]
7 votes
Duplicata possible de Comment vérifier si un tableau contient un objet en JavaScript ?
1 votes
Ce n'est pas spécifique à Typescript
2 votes
@NitzanTomer ne sont-ils pas les mêmes ? stackoverflow.com/questions/38239579/