我定义了这样的一个数组
var queryData = [
{word:'标题:',method:'title',type:'String',show:'show'},
{word:'类型:',method:'type',type:'String'},
{word:'部门:',method:'dept''},
{word:'姓名:'}
];
数组里面保存了4个对象,有没有好的办法能取得对象属性的个数:如queryData[0]应该有4个属性个数,queryData[1]有3个,
个人感觉使用
for(var i  in queryData[0])
{
     //计数器++
}
这种做法太麻烦,有没有什么简单的方法,最好是 js中默认有这种功能的方法

解决方案 »

  1.   


     没有。 firefox 可以用 queryDate[0].__count__
    其余的只有用for in去计数, 如果是后台返回的值。那么可以让后台把个数返回给你 你直接取
      

  2.   


    Object.prototype.AttrCount= function (){
    var s=-1; // 当前方法不算在内
    for(var a in  this){
    s++;
    }
    return s;
    }
    var queryData = [
    {word:'标题:',method:'title',type:'String',show:'show'},
    {word:'类型:',method:'type',type:'String'},
    {word:'部门:',method:'dept'},
    {word:'姓名:'}
    ];
    alert(queryData[0].AttrCount());