使用javascript检查对象中的对象是否为空
你好,我有一个对象:使用javascript检查对象中的对象是否为空,javascript,Javascript,你好,我有一个对象: var equippedItems = { weapon: {}, armor: {}, accessory: {} }; 我需要一种方法来检查equipeditems.wearm是否等于'在某个点上,我正在做类似equipeditems.wearm=''的事情我不知道它是否与上面的对象完全相同。我已经试过使用object.hasOwnProperty,但似乎我无法使用装备项.武器在这种情况下,可能我做错了什么?还要注意的是,我确实读过如何检查对象是否已经是空的,但它对对
var equippedItems = {
weapon: {},
armor: {},
accessory: {}
};
我需要一种方法来检查equipeditems.wearm是否等于'
在某个点上,我正在做类似equipeditems.wearm=''的事情代码>我不知道它是否与上面的对象完全相同。我已经试过使用object.hasOwnProperty
,但似乎我无法使用装备项.武器
在这种情况下,可能我做错了什么?还要注意的是,我确实读过如何检查对象是否已经是空的,但它对对象中的对象不起作用
@编辑:
就像我说的,我已经读过了,他们没有直接回答我的问题,他们回答了如何检查对象是否为空,但是对象就像object={}代码>而我的就像
对象={
对象:{},
对象2:{},
对象3:{}代码>
这就是它让我困惑的原因。只需使用对象。键
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 = "";
}
要检查对象是否具有可以使用的属性,请执行以下操作:
"weapon" in equippedItems
或
武器:{}
生成一个没有属性的对象(但仍然是一个对象)equipItems.wearm=''
将该属性设置为空字符串。它们非常不“完全相同”,谢谢你让我知道装备项目有三个属性,即武器、盔甲、配件。我想检查一下武器/盔甲/配件是否是空的我相信我已经试过你的方法了。我会再试一次。您好,谢谢您的回答。我会尝试实现它,看看它是否有效。如果我没有弄错的话,我应该像这样使用:函数isEmpty(equipItems,武器){return Object.keys(equipItems[武器]).length==0;}
我不确定我会继续尝试抱歉等待了很长时间,我发现了这个问题,我想我应该给你“最佳答案”谢谢你的帮助:)
equippedItems.hasOwnProperty("weapon")