Ala*_*laa 5 javascript in-operator
我尝试了以下操作,但它引发了异常:
if (!$get('sslot_hf0').value in ('X', 'Y', 'Z', '0')) {
$get('sslot_hf0').value = 'X';
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个类似于IN操作符的函数SQL
您可以使用下面的函数来达到相同的目的,第二个参数可以是数组或对象,第一个参数是您在数组或对象中搜索的值。
function inStruct(val,structure)
{
for(a in structure)
{
if(structure[a] == val)
{
return true;
}
}
return false;
}
if(inStruct('Z',['A','B','Z']))
{
//do your stuff
}
Run Code Online (Sandbox Code Playgroud)
// 该函数还遍历继承的属性
即在您包含的 js 库的某些地方
Array.prototype.foo = 10;
Run Code Online (Sandbox Code Playgroud)
比
instruct(10,[1,2,3]) // will return true
Run Code Online (Sandbox Code Playgroud)
对于物体也会发生同样的情况。检查这个小提琴 http://jsfiddle.net/rQ8AH/17/
已编辑::
谢谢大家的评论...这是更新的代码,我认为最好也保留旧功能。因此,有人可以注意到其中的差异。
function inStruct(val,structure)
{
for(a in structure)
{
if(structure[a] == val && structure.hasOwnProperty(a))
{
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)