some includes inarray array javascript function internet-explorer methods microsoft-edge

includes - javascript array contains value



incluye() no funciona en todos los navegadores (4)

Aquí hay un bloque de mi código. Funciona perfecto en fireFox y Chrome. Pero no en IE. Aparece el error "El Object doesn''t support property or method ''includes'' "

function rightTreeSwapfunc2() { if ($(".right-tree").css("background-image").includes("stage1") == true) { $(".right-tree").css({ backgroundImage: "url(/plant-breeding/img/scenes/plant-breeding/stage5.jpg)" }) } else { $(".right-tree").css({ backgroundImage: "url(/plant-breeding/img/scenes/plant-breeding/stage3.jpg)" }) } }

Podría cambiarlo un poco y usar vanilla JS y hacer:

document.getElementById("right-tree").classList.contains

Pero preferiría ver si hay una manera de hacer que funcione en IE antes de cambiar el JS y editar el HTML y CSS.


En mi caso, encontré mejor usar "string.search".

var str = "Some very very very long string"; var n = str.search("very");

En caso de que sea útil para alguien.


IE11 implementa String.prototype.includes, entonces ¿por qué no usar el Polyfill oficial?

Fuente: fuente de polyfill

if (!String.prototype.includes) { String.prototype.includes = function(search, start) { if (typeof start !== ''number'') { start = 0; } if (start + search.length > this.length) { return false; } else { return this.indexOf(search, start) !== -1; } }; }


Si observa la documentación de includes() , la mayoría de los navegadores no admiten esta propiedad.

Puede usar indexOf() ampliamente compatible después de convertir la propiedad a cadena usando toString() :

if ($(".right-tree").css("background-image").indexOf("stage1") > -1) { // ^^^^^^^^^^^^^^^^^^^^^^

También puede usar el polyfill de includes() .

if (!String.prototype.includes) { String.prototype.includes = function() { ''use strict''; return String.prototype.indexOf.apply(this, arguments) !== -1; }; }


Una solución más es usar contiene que devolverá verdadero o falso

_.contains ($ (". right-tree"). css ("background-image"), "stage1")

Espero que esto ayude