Ce code ne fonctionne pas dans Internet Explorer. Une alternative?
"abcde".includes("cd")
Ce code ne fonctionne pas dans Internet Explorer. Une alternative?
"abcde".includes("cd")
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)
var myString = 'this is my string';
myString.indexOf('string');
// -> 11
myString.indexOf('hello');
// -> -1
MDN a un polyfill pour includes
l'aide indexOf
: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes#Polyfill
EDIT: Opera supporte includes
de la version 28.
includes () n'est pas supporté par la plupart des navigateurs. Vos options sont soit d'utiliser
-polyfill from MDN https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/includes
ou d'utiliser
-Indice de()
var str = "abcde";
var n = str.indexOf("cd");
Ce qui vous donne n = 2
Ceci est largement pris en charge.
Essayez d'exécuter ci-dessous(sans solution) d'abord pour voir le résultat dans IE
console.log("abcde".includes("cd"));
Maintenant exécuter ci-dessous un avec fix et vérifier le résultat
if (!String.prototype.includes) {
String.prototype.includes = function (str) {
return this.indexOf(str) !== -1;
}
}
console.log("abcde".includes("cd"));
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.