当前位置:  开发笔记 > 编程语言 > 正文

如何确定数组中已定义元素的数量?

如何解决《如何确定数组中已定义元素的数量?》经验,为你挑选了1个好方法。

如果我在Javascript中有一个偶尔填充的数组,我该如何确定数组中非空元素的数量?

例如:

var zipCodes = [];
zipCodes[10006] = 'New York, NY';
zipCodes[90210] = 'Los Angeles, CA';

zipCodes.length在这里返回90,211,我真的不想循环通过90,209个nothings来找出我有两个有效元素.使用for-in循环意味着处理任何可能冒泡原型链并试图弄清楚它是否是数组的一部分.

有没有办法,鉴于上面定义的数组,我可以提取"2"作为已定义元素的数量?



1> I.devries..:

您需要一个具有键值对的对象(类似于关联数组/哈希表)而不是数组:

var zipCodes = {};
zipCodes[10006] = 'New York, NY';
zipCodes[90210] = 'Los Angeles, CA';


for(var zipCode in zipCodes) {
    if(zipCodes.hasOwnProperty(zipCode)) {//makes sure prototypes aren't taken into account

    }
}

编辑:或者您可以将对象存储在数组中,如下所示:

var zipCodes = [];
zipCodes.push({10006:'New York, NY'});
zipCodes.push({90210: 'Los Angeles, CA'});

//zipCodes.length = 2

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有