0

特定の値がいくつかの値の中にあるかどうかを調べる方法は? INSQL の演算子や、セットに期待されるものに似ています。セットが であるとしましょう{male,female,xyz}。男性がセットに含まれているかどうかを調べたい。

4

4 に答える 4

1

演算子はinJavaScript に存在します。ただし、オブジェクトにプロパティが存在するかどうかを確認します。

オブジェクト ハッシュまたは配列を使用できます。

var values = {male: true, female: true, xyz: true}
var valueToSearch = 'female';

valueToSearch in values; //true

var values = ['male', 'female', 'xyz']

values.indexOf(valueToSearch) !== -1 // true

編集:正規表現の使用:

if(pattern.test(search)) {
   //search found
}
于 2013-08-23T12:25:33.783 に答える
0

物体

var objNames = {
    "Michigan": "MI",
    "New York": "NY",
    "Coffee": "yes, absolutely"
};

配列

var arrNames = [
    "Michigan", "New York", "Coffee"
]

関数

function isIn(term, list) {
    var i, len;
    var listType = Object.prototype.toString.call(list);

    if (listType === '[object Array]') {
            for (i = 0, len = list.length; i < len; i++) {
                if (term === listType[i]) { return true; }
            }
            return false;
    }

    if (listType === '[object Object]') {
        return !!list[term]; // bang-bang is used to typecast into a boolean
    }

    // What did you sent to me?!
    return false;
}

使用法

var michiganExists = isIn('Michigan', objNames); // true

ノート

私は indexOf を使用しませんでした。op にはブラウザーのサポートについて言及されておらず、indexOf は Internet Explorer のすべてのバージョンで動作するわけではありません (ひどい!)。

于 2013-08-23T12:45:43.223 に答える