Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Properties - Fatal编程技术网

检查javascript数组中是否存在动态属性

检查javascript数组中是否存在动态属性,javascript,arrays,properties,Javascript,Arrays,Properties,我有一些代码可以动态地将属性添加到数组中 data.tagAdded[tag.Name] = { tag: tag, count: 1, }; 稍后在代码中,我需要检查data.tagAdded的属性。如果它没有属性,我需要做一些其他的代码。问题是我不知道如何检查存在属性 tagAdded=[]始终是一个数组,它是否包含属性,因此我无法检查它是否为null。我不能说如果属性,因为我不

我有一些代码可以动态地将属性添加到数组中

data.tagAdded[tag.Name] = {
                    tag: tag,
                    count: 1,
                };
稍后在代码中,我需要检查data.tagAdded的属性。如果它没有属性,我需要做一些其他的代码。问题是我不知道如何检查存在属性

tagAdded=[]
始终是一个数组,它是否包含属性,因此我无法检查它是否为null。我不能说如果属性,因为我不知道属性的名称,因为它是动态的。无法检查长度,因为具有属性的数组的长度为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
你可以试试

for (var prop in tagAdded) {
    if (tagAdded.hasOwnProperty(prop)) {
        console.log("property exists");
    }
}

您只是想看看您的数组对象是否有任何元素分配给它,还是需要看看特定的键是否有一个与之关联的值?