Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript检查对象中的对象是否为空_Javascript - Fatal编程技术网

使用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")