Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
TypeError: cannot use 'in' operator to search for 'x' in 'y'
Mensaje
TypeError: cannot use 'in' operator to search for 'x' in 'y' (Firefox, Chrome)
In this article
Tipo de Error
TypeError¿Qué salió mal?
Eloperadorin puede ser usado sólo para verificar si una propiedad se encuentra en un objeto. No puede buscar en cadenas de caracteres, o en números, u otro tipo primitivo.
Ejemplos
>Buscando en cadenas de caracteres
A diferencia de otros lenguajes de programación (ej. Python), no puede buscar cadenas de texto usando eloperatorin.
js
"Hello" in "Hello World";// TypeError: cannot use 'in' operator to search for 'Hello' in 'Hello World'En su lugar, deberá usarString.prototype.indexOf(), por ejemplo.
js
"Hello World".indexOf("Hello") !== -1;// trueEl operando no puede sernull oundefined
Asegúrese que el objeto que está inspeccionando no seanull oundefined.
js
var foo = null;"bar" in foo;// TypeError: cannot use 'in' operator to search for 'bar' in 'foo'El operadorin siempre espera un objeto.
js
var foo = { baz: "bar" };"bar" in foo; // false"PI" in Math; // true"pi" in Math; // falseBuscando en arreglos
Tenga cuidado cuando use el operadorin para buscar en objetosArray. El operadorin verifica el índice numérico, no el valor de dicho índice.
js
var trees = ["redwood", "bay", "cedar", "oak", "maple"];3 in trees; // true"oak" in trees; // false