如果Object在数组中,我如何找到键的总数

时间:2011-07-17 12:41:09

标签: javascript

  

可能重复:
  How to efficiently count the number of keys/properties of an object in JavaScript?

var array = [{key:value,key:value}]

如果是一个Object数组,我如何找到键的总数。当我检查阵列的长度时,它给了我一个。

2 个答案:

答案 0 :(得分:2)

如果您想知道ObjectArray的唯一属性的数量,那么应该这样做......

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;

jsFiddle

请注意,Array的{​​{3}}没有最佳的浏览器支持。你可以随时indexOf()(虽然为了安全起见,我会让它成为util对象或类似对象的一部分。

答案 1 :(得分:0)

如果数组只有一个对象,array[0]代表对象。

如果有多个对象,您需要确定您想要计算的内容。