2012-12-09 141 views

回答

4

您通过对象必须循环测试它:

var chk = false; 
for(var key in map){ 
    if(map[key] == "here"){ 
     chk = true; 
     break; 
    } 
} 
alert(chk?"Yup":"Nah"); 

你也可以把这个在Object原型:

Object.prototype.ifExist = function(txt){ 
    var chk = false; 
    for(var key in this){ 
     if(this[key] == txt){ 
      chk = true; 
      break; 
     } 
    } 
    return chk; 
} 

//map.ifExist("here"); 
//return true 

演示:http://jsfiddle.net/DerekL/yWnYy/

1

你必须使用for..in语法在对象上进行迭代:

function in_object(value, object) { 
    for (var key in map) { 
     if (map[key] == value) { 
      return true; 
     } 
    } 

    return false; 
} 

下面是一个例子:

> in_object('heres', map) 
false 
> in_object('here', map) 
true 
相关问题