我有可以动态向数组添加属性的代码。
data.tagAdded[tag.Name] = {
tag: tag,
count: 1,
};
稍后在我的代码中,我需要检查 data.tagAdded 是否具有属性。如果它没有属性,我需要执行一些其他代码。问题是我不知道如何检查存在属性。
tagAdded = []
始终是一个数组,而不是包含属性或不包含属性,因此我无法检查它是否为空。我不能说是否属性,因为我不知道属性的名称,因为它是动态的。我无法检查长度,因为具有属性的数组的长度为 0。
还有其他方法可以检查属性是否存在吗?
最佳答案
假设您只想查看是否已将任何键值对分配给关联数组(仅供引用,对于您正在做的事情,对象可能会更好地为您服务),您可以执行以下操作:
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
关于javascript - 检查 JavaScript 数组中是否存在动态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23681666/