我有动态添加属性的代码。
data.tagAdded[tag.Name] = {
tag: tag,
count: 1,
};
稍后在我的代码中,我需要检查data.tagAdded是否具有属性。如果它没有属性我需要做一些其他代码。问题是我无法弄清楚如何检查存在属性。
tagAdded = []
总是一个数组,而不是它包含属性,所以我无法检查它是否为空。我无法说出属性,因为我不知道该属性的名称,因为它是动态的。我无法检查长度,因为具有属性的数组长度为0.
检查属性是否存在的任何其他方法?
答案 0 :(得分:1)
假设您只是想知道您是否已为关联数组分配了任何键值对(仅供参考,对于您正在做的事情,对象可能会为您提供更好的服务),您可以执行以下操作:以下内容:
function isEmpty(o) {
return !Object.keys(o).length && !o.length;
}
var x = [];
isEmpty(x);
=> true
x['foo'] = 'bar';
isEmpty(x);
=> false
delete x.foo;
isEmpty(x);
=> true
x.push(1);
isEmpty(x);
=> false
答案 1 :(得分:0)
你可以尝试
for (var prop in tagAdded) {
if (tagAdded.hasOwnProperty(prop)) {
console.log("property exists");
}
}