特定の値がいくつかの値の中にあるかどうかを調べる方法は? IN
SQL の演算子や、セットに期待されるものに似ています。セットが であるとしましょう{male,female,xyz}
。男性がセットに含まれているかどうかを調べたい。
質問する
61 次
4 に答える
1
演算子はin
JavaScript に存在します。ただし、オブジェクトにプロパティが存在するかどうかを確認します。
オブジェクト ハッシュまたは配列を使用できます。
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 に答える