Оператор in
возвращает true
, только если данное свойство присутствует в объекте или его прототипе.
Пример: объект
obj = {
a: 5
}
"a" in obj // true
"b" in obj // false
"toString" in obj // true, т.к toString есть в прототипе
Следующий пример иллюстрирует проверку индекса в массиве:
Пример: массив
arr = [ "a", "b", "c"]
1 in arr // true
22 in arr // false
delete arr[1]
1 in arr // false : элемент удален
Справа от оператора in
должен находится объект, иначе интерпретатор сгенерирует ошибку TypeError.
'a' in "test" // TypeError
хотелось бы чего-то типа такого:
if ('myclass' in obj.className.split[' ']) return true; else return false;
или
return ('myclass' in obj.className.split[' ']);
вместо:
var r=false;
var c=obj.className.split(' ');
for (var i=0;i
А есть ли возможность использовать in для быстрого поиска по перечислению?
К примеру, как в Python:
if myString in ("one", "two", "three"):
...