javascript - 使用javascript检查对象内部的对象是否为空

标签 javascript

<分区>

你好我有一个对象:

var equippedItems = {
weapon: {},
armor: {},
accessory: {}
};

我需要一种方法来检查 equippedItems.weapon 是否等于 '' 在某些时候我正在做类似 equippedItems.weapon = ''; 我不知道是否它与上面的对象完全相同。我已经尝试使用 object.hasOwnProperty 但在这种情况下我似乎无法使用 equippedItems.weapon ,也许我做错了什么?另请注意,我确实阅读了如何检查对象是否已经为空,但它不适用于对象内部的对象。

@编辑:

就像我说的,我已经读过那些,他们没有直接回答我的问题,他们确实回答了如何检查对象是否为空,但对象就像 object = {};而我的就像 对象 = { 目的:{}, 对象 2:{}, object3:{}};

这就是为什么它让我感到困惑。

最佳答案

只需使用 Object.keys

function isEmpty(obj, propName){
   return Object.keys(obj[propName]).length == 0;
}

另一种方法是使用 JSON.stringify 方法,如果为空,该方法将返回 {}

function isEmpty(obj, propName){
   return JSON.stringify(obj[propName]) == "{}";
}

在这两种情况下,您都可以像这样调用函数

if(isEmpty(equipmentItems.weapons)){
   equipmentItems.weapons = "";
} 

关于javascript - 使用javascript检查对象内部的对象是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28456560/

相关文章:

javascript - Node-chat 使用什么样的技术

javascript - 获取 iframe 的 URL,然后提醒它

javascript - 如何在图例中设置符号?

javascript - 是否可以以这种方式使用 Node-Redis 还是我会坚持使用 websockets?

javascript - 如何使用 angularjs 中的自定义指令通过 Unform jQuery 插件设置浏览器默认复选框的样式

javascript - 如何避免 mathjs 结果中的指数表示法

javascript - 如何从多个 API 调用设置状态?

javascript - 如何使用 Tailwind 在 NextJS 中添加动态背景?

javascript - 在 Safari 中使用 CORS 的跨域 cookie

javascript - 如何修复鼠标悬停时的下拉菜单不起作用