Javascript 如果对象位于数组中,如何查找键的总数
可能重复:Javascript 如果对象位于数组中,如何查找键的总数,javascript,Javascript,可能重复: 如果是一个对象数组,如何查找键的总数。当我检查数组的长度时,它会给我一个 如果您想知道数组中对象的唯一属性的数量,应该这样做 var uniqueProperties = []; for (var i = 0, length = arr.length; i < length; i++) { for (var prop in arr[i]) { if (arr[i].hasOwnProperty(prop) && u
如果是一个对象数组,如何查找键的总数。当我检查数组的长度时,它会给我一个 如果您想知道
数组中对象
的唯一属性的数量,应该这样做
var uniqueProperties = [];
for (var i = 0, length = arr.length; i < length; i++) {
for (var prop in arr[i]) {
if (arr[i].hasOwnProperty(prop)
&& uniqueProperties.indexOf(prop) === -1
) {
uniqueProperties.push(prop);
}
}
}
var uniquePropertiesLength = uniqueProperties.length;
var uniqueProperties=[];
对于(变量i=0,长度=arr.length;i
请注意,数组
没有最好的浏览器支持。您总是可以(尽管为了安全起见,我会将其作为util
对象或类似对象的一部分)。如果数组只有一个对象,则array[0]
表示该对象
如果有不止一个对象,你需要决定你到底要数什么。@Darin Dimitrov:这是一个对象数组。。。这不是一个简单的问题。@Darin Dimitrov:他前面的问题是一个重复的问题,这个问题问了一些不同的问题。不确定这是否应该是一个单独的问题,但我猜他没有从之前的帖子中得到回应。这是对的——数组中有一个对象。这个问题需要润色一下。。。您正在尝试从数组中的对象获取密钥总数吗?还是别的什么?@John Cooper,然后将复制中的技术应用于单个对象的数组[0]
。@Nicolae Albu:是的,我正试图从数组中的对象获取密钥总数这意味着什么?uniqueProperties.indexOf(propertyName) === -1@JohnCooper:它检查属性名称是否已存在于uniqueProperties
数组中。请务必查看有关浏览器兼容性的脚注。
var uniqueProperties = [];
for (var i = 0, length = arr.length; i < length; i++) {
for (var prop in arr[i]) {
if (arr[i].hasOwnProperty(prop)
&& uniqueProperties.indexOf(prop) === -1
) {
uniqueProperties.push(prop);
}
}
}
var uniquePropertiesLength = uniqueProperties.length;