javascript - 统计对象的属性个数,但是没成功??
高洛峰
高洛峰 2017-04-10 17:12:15
[JavaScript讨论组]

我想给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啊???

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(4)
黄舟
var i=0
天蓬老师
var countArr= arr.map(function (obj) {
    return Object.keys(obj).length;
})
迷茫

问题出在这里

num++

当遍历完arr_obj[0]之后num = 3
再遍历arr_obj[1]时num的初始值是3而不是0 所以这此的结果是4。
再遍历arr_obj[2]时num的初始值是4

PHP中文网
    for(var i,num=0; i<arr_obj.length; i++) { 

且先不说能不能实现,你觉得这里有哪里怪怪的吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号