TypeError: cannot use 'in' operator to search for 'x' in 'y' (Firefox, Chrome)Tipo de Error ¿Qué salió mal?
El operador in
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.
A diferencia de otros lenguajes de programación (ej. Python), no puede buscar cadenas de texto usando el operator in
.
"Hello" in "Hello World";
// TypeError: cannot use 'in' operator to search for 'Hello' in 'Hello World'
En su lugar, deberá usar String.prototype.indexOf()
, por ejemplo.
"Hello World".indexOf("Hello") !== -1;
// true
El operando no puede ser null
o undefined
Asegúrese que el objeto que está inspeccionando no sea null
o undefined
.
var foo = null;
"bar" in foo;
// TypeError: cannot use 'in' operator to search for 'bar' in 'foo'
El operador in
siempre espera un objeto.
var foo = { baz: "bar" };
"bar" in foo; // false
"PI" in Math; // true
"pi" in Math; // false
Buscando en arreglos
Tenga cuidado cuando use el operador in
para buscar en objetos Array
. El operador in
verifica el Ãndice numérico, no el valor de dicho Ãndice.
var trees = ["redwood", "bay", "cedar", "oak", "maple"];
3 in trees; // true
"oak" in trees; // false
Vea también
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4