我需要知道JavaScript对象是否包含某个变量。
EG: 检查'map'是否包含'here'
var map = {
'10': '0',
'20': '0',
'30': 'here',
},
答案 0 :(得分: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
答案 1 :(得分: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