оператор "in" в Javascript / jQuery - PullRequest
4 голосов
/ 13 июля 2009

Есть ли в Javascript или jQuery когда-нибудь что-то вроде оператора in in Python?

"a" в "dea" -> True

Гуглить по слову в безнадежно: (

Ответы [ 5 ]

29 голосов
/ 13 июля 2009

Он имеет оператор in , но ограничен только ключами объекта:

var object = {
    a: "foo",
    b: "bar"
};

// print ab
for (var key in object) {
    print(key);
}

И вы также можете использовать его для таких проверок:

if ("a" in object) {
    print("Object has a property named a");
}

Для проверки строки вам нужно использовать метод indexOf () :

if ("abc".indexOf("a") > -1) {
    print("Exists");
}
6 голосов
/ 13 июля 2009

вам нужно будет использовать indexOf

например,

"dea".indexOf("a"); вернет 2

Если его нет в элементе, он вернет -1

Я думаю, это то, что вам нужно.

2 голосов
/ 13 июля 2009

Похоже, вам нужны регулярные выражения!

if ("dea".match(/a/))
{ 
    return true;
}
1 голос
/ 13 июля 2009

С помощью функции indexOf вы можете расширить строку следующим образом:

String.prototype.in = function (exp) {
    return exp.indexOf(this) >= 0;
}

if ("ab".in("abcde")) { //true

}
1 голос
/ 13 июля 2009

Как насчет indexOf ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...