js 中判断一个json对象下的某一个属性值是否存在怎么写

js中判断一个js中json对象下一个属性的值是否存在 这个除了判断是否等于undefinded 还有其他的方法吗

阅读 21.3k
6 个回答

其实不需要判断是不是undefined,直接if就好了,会做转型。举个例子:

var myObject = {
    name: 'wilson'
}

if (myObject.age) {
  xxx
}

那么if后面的判断就是false。

使用 !("key" in obj) 判断是否存在

var obj = {
    a:1
}
if(obj.hasOwnProperty('a')){
    console.log(obj.hasOwnProperty('a'))//true
}

obj.hasOwnProperty(prop)

var obj = {
  name: 'sunnie'
};

var flag = isHasAttr(obj, "name");
var val = isHasAttrVal(obj, "name", "sunnie");
//是否有对象属性
function isHasAttr(obj, attr) {
  //判断是否有该键值
  if (obj && obj.hasOwnProperty(attr)) {
    //如果有返回true
    return true;
  } 
    return false;
  
}
//是否含有对象属性对应的值
function isHasAttrVal(obj, attr, value) {
  //判断是否有该键值对应的值
  if (obj && obj.hasOwnProperty(attr) && obj[attr] === value) {
    //如果有返回true
    return true;
  } 
    return false;
  
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题