JS数组的长度问题

JS数组的长度问题说得 js 获取数组长度 相信都会第一时间想到 array length 但是 length 有明显的缺陷 比如 varstr str 99 99 console log str length 得到的结果是 100varstr str name javascript str test sds

说得js获取数组长度,相信都会第一时间想到array.length

但是,.length有明显的缺陷

比如:

var str = []; str[99] = 99; console.log(str.length);

得到的结果是100

var str = []; str['name'] = 'javascript'; str['test'] = 'sdsdsdsdsd'; console.log(str.length);

得到的结果是0

var str = {'name':'javascript','test':'sdsdsdsdsd'}; console.log(str.length);

得到的结果是undefined

所以,最好是自定义函数来计算数组的长度!特别是关联数组和对象数组!

其中,自定义长度函数将用到:

type of

for in 

.length

举个栗子:

function a_count(atr) { var s = typeof str;
 //if(s == 'string'){}
 if(s == 'object'){ 
     if(str.toString().length == 0){ 
    return 0;  }else{ var i = 0;  for(var j in str){ if(str[j].length != undefined){ i++;  } } return i;  } } } function b_count(str) { var s = typeof str;  if(s == 'object'){ 
     if(str.toString().length == 0){ return 0;  }else{ var i = 0;  for(var j in str){ if(str[j].length != undefined){ i = str[j].length;  } } return i;  } } }

以上栗子不用照搬,是特定数组的算法。具体的写法还是要根据自己的需求来写,先调试看看自己要计算的数组的结构





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218550.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:59
下一篇 2026年3月17日 下午11:59


相关推荐

  • tensorflow的 ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败解决办法

    tensorflow的 ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败解决办法近些天准备学习一下机器学习 于是通过 pip 直接下载安装了 tensorflow 却不能正常使用 tensorflow 一直报错 ImportError DLLloadfaile 动态链接库 DLL 初始化例程失败 通过博客 本人尝试了许多博主的方法都没有成功 1 卸载当前的 2 0 版本 下载之前的旧版本 2 重新安装 tensorflow 3 下载安装 python3 6 版本已经 3 6 版本

    2026年3月26日
    1
  • nginx负载均衡并发量(应用服务器高并发解决方案)

    1.什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。下…

    2022年4月14日
    68
  • assert函数解析[通俗易懂]

    assert函数解析[通俗易懂]一、assert是宏明确一点:在C中,ASSERT是宏而不是函数。assert()是一个调试程序时经常使用的宏。在程序运行时它计算括号内的表达式。如果表达式为FALSE(0),程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常用来判断程序中是否出现了明显非法的数据,如果出现就终止程序以免导致严重后果,同时反馈错误发生“地点”。

    2025年5月24日
    6
  • ipynb可以用pycharm_pycharm运行jupyter

    ipynb可以用pycharm_pycharm运行jupyter背景我的Pycharm下面有很多Project,每个Project一个Anaconda环境,昨天新开了一个Project叫CLRS_Code,Anaconda环境名也叫CLRS_Code然后我之前没有在Pycharm里面用过Jupyter,突然想试试这个功能,然后就新建一个.ipynb文件,Pycharm提示我没有装JupyterPackages,然后我就在Pycharm里面装了,装完之后,搜索…

    2022年8月27日
    6
  • Python爬虫从入门到精通——爬虫基础(一):爬虫基本原理[通俗易懂]

    分类目录:《Python爬虫从入门到精通》总目录我们可以把互联网比作一张大网,而爬虫便是在网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被抓取下来了。简单…

    2022年4月16日
    37
  • 零散的MySQL基础总是记不住?看这一篇就够了!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:Sicimike blog.csdn.net/Baisitao_/article/details/104714…

    2021年6月25日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号