我想给object数组的每个对象的数目统计到新数组里
function mysort(arr_obj)
{var arr=[];
for(var i=0,num=0;i<arr_obj.length;i++)
{ for(var key in arr_obj[i])
{if(arr_obj[i].hasOwnProperty(key))
num++;
arr[i]=num;}
}
alert(arr);
}
var a = {
name: 'hanzichi',
age: 10,
location: 'china'
};
var b = {
name: 'curry'
};
var c = {
name: 'kobe',
sex: 'male'
};
arr=[a,b,c];
mysort(arr);//显示3,4,6?????应该显示3,1,2啊???
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问题出在这里
当遍历完arr_obj[0]之后num = 3
再遍历arr_obj[1]时num的初始值是3而不是0 所以这此的结果是4。
再遍历arr_obj[2]时num的初始值是4
且先不说能不能实现,你觉得这里有哪里怪怪的吗?