.comprend() ne fonctionne pas dans Internet Explorer
Ce code ne fonctionne pas dans internet explorer. Toute autre alternative?
"abcde".includes("cd")
- Deux ans plus tard, IE ne le supporte pas.
- D'attente pour IE pour aller mieux, c'est comme... en attendant c'est à dire pour obtenir mieux.
- Tu veux dire 3 ans? 😀
Vous devez vous connecter pour publier un commentaire.
String.prototype.includes
est, comme vous l'écrivez, non pris en charge dans Internet Explorer (ou Opéra).Au lieu de cela, vous pouvez utiliser
String.prototype.indexOf
.#indexOf
renvoie l'index du premier caractère de la sous-chaîne si elle est dans la chaîne, sinon elle renvoie-1
. (Un peu comme le Tableau équivalent)MDN a un polyfill pour
includes
à l'aide deindexOf
: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes#PolyfillEDIT: Opéra prend en charge
includes
de version 28.EDIT 2: les versions Actuelles de Bord prend en charge la méthode. (en 2019)
Boolean
, nous pouvons(myString.indexOf('string') > -1) // to get a boolean true or false
Ou il suffit de mettre ceci dans un fichier Javascript et avoir une bonne journée 🙂
for...in
, il va se répéter surString.prototype.includes
si elle est définie comme ceci.return this.indexOf(str) !== -1;
comprend() n'est pas supporté par la plupart des navigateurs. Vos options sont soit de l'utilisation
-polyfill de MDN
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes
ou à utiliser
-indexof()
Qui vous donne n=2
C'est largement pris en charge.
for...in
!, il va se répéter surString.prototype.includes
si vous le définir comme ça.Celui-ci peut-être mieux et plus court:
Problème:
Essayez d'exécuter ci-dessous(sans solution) à partir d'Internet Explorer et voir le résultat.
JS:
Solution:
Maintenant exécuter ci-dessous la solution et vérifier le résultat
JS:
J'ai eu le même problème lorsque l'on travaille dans Angulaire 5. Afin de le faire fonctionner directement sans avoir à écrire un polyfill vous-même, il suffit d'ajouter la ligne suivante à polyfills.ts fichier:
Aussi,
tsconfig.json
lib section pourrait être pertinente:Pour réagir:
Problème à résoudre pour - includes(), find(), et ainsi de suite..
Si vous souhaitez continuer à utiliser la
Array.prototype.include()
en javascript, vous pouvez utiliser ce script:github-script-ie-inclure
Qui convertit automatiquement la fonction include() de la fonction match() s'il détecte IE.
Autre option est d'utiliser toujours le
string.match(Regex(expression))
Ça fonctionne pour moi:
Vous pouvez faire la même chose avec !! et ~ opérateurs
voici l'explication de ces deux opérateurs (!! et ~ )
Quelle est la !! (ne pas) opérateur en JavaScript?
https://www.joezimjs.com/javascript/great-mystery-of-the-tilde/