我需要知道一个 JavaScript 对象是否包含某个变量。
EG:检查“地图”是否包含“这里”
var map = {
'10': '0',
'20': '0',
'30': 'here',
},
我需要知道一个 JavaScript 对象是否包含某个变量。
EG:检查“地图”是否包含“这里”
var map = {
'10': '0',
'20': '0',
'30': 'here',
},
你必须遍历对象来测试它:
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/
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