我定义了这样的一个数组
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中默认有这种功能的方法
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中默认有这种功能的方法
没有。 firefox 可以用 queryDate[0].__count__
其余的只有用for in去计数, 如果是后台返回的值。那么可以让后台把个数返回给你 你直接取
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());