6 个回答

如果要判断 object 的 key 是否存在 Object.hasOwnProperty()即可它通过内部的快速路径来判断属性是否直接存在于对象中,但是如果你要判断 value 是否有值,就需要循环 object 了。

Object.hasOwn()方法是ES2022提出的。

let obj = {
      name: "AAA",
      age: 12,
      address: "",
    };
if (Object.hasOwn(obj,"address") && !obj.address) {
    console.log("地址不能为空")
}
let obj = {
  name: "AAA",
  age: 12,
  address: "",
};

for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    if (obj[key] === "") {
      console.log(key + "不能为空");
    }
  }
}
let obj = {
      name: "AAA",
      age: 12,
      address: "",
    };
if(obj.hasOwnProperty('address')){
    if (obj.address === "") {
    console.log("地址不能为空!");
  } else {
    // 处理
  }
}

可以使用Object.entrieshuo 或 Object.values

Object.entries(obj).some([key, value] => {
    if(!value){
        console.log(key + "不能为空!");
    }
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏