js获取数组元素个数和对象成员数

JavaScript对象属性个数的多种获取方法 当我们需要对JavaScript对象进行操作时,了解其属性个数是非常常见的需求。属性个数的统计不仅可以帮助我们理解对象的结构,还能为算法提供必要的信息,如深度拷贝、数据序列化、对象比较等。在JavaScript中,对象属性个数的获取有多种方法,它们各有特点和适用场景。本章将概述这些方法,并为后续章节中更详细的讨论打下基础。在下一章中,我们将首先探讨方法,它允许我们获取一个对象上所有可枚举的自有属性的键名。要计算一个对象的所有自身属性(不包括原型链上的属性),可以结合和来实现。 阅读详情

http://www.51-n.com/t-4080-1-1.html


Javascript怎么得到数组长度(也就是数组的元素个数)?
Javascript怎么获取对象的成员个数?
你肯定想到了array.length!? 那么我们来测试一下下面这个例子.
  1. <script type="text/javascript">
  2.         var a = [];
  3.         a[50] = 50;
  4.         alert(a.length);
  5. </script>
复制代码
请问数组a有多少个元素, 或者换一句话说, 数组a的长度为多少?你会告诉我长度为1, 但浏览器会告诉你a.length为51.
有点意思吧? 那我们再看一个例子.
  1. <script type="text/javascript">
  2.         var a = [];
  3.         a['age'] = '18';
  4.         a['sex'] = 'Male';
  5.         a['site'] = 'http://www.qSyz.net';
  6.         alert(a.length);
  7. </script>
复制代码
请问数组a有多少个元素, 或者换一句话说, 数组a的长度为多少?
我们都知道现在数组a的元素个数为3个,但浏览器会告诉你a.length为0 !!

js怎么获取对象的成员个数? 用length属性吗?
  1. <script type="text/javascript">
  2.         var a = {'age':30,'sex':'male'};
  3.         alert(a.length);
  4. </script>
复制代码
以上代码得到结果为undefined!

综上所述,length不可靠,要想得到准确的数组元素个数或者对象的成员个数,我们需要自己动手写一个函数.
如果传入数组则计算数组长度,如果传入对象则计算对象成员数,如果传入字符串则计算字符串的字数.其他类型返回false
  1. <script type="text/javascript">
  2.         function count(o){
  3.                 var t = typeof o;
  4.                 if(t == 'string'){
  5.                         return o.length;
  6.                 }else if(t == 'object'){
  7.                         var n = 0;
  8.                         for(var i in o){
  9.                                 n++;
  10.                         }
  11.                         return n;
  12.                 }
  13.                 return false;
  14.         }
  15. </script>
复制代码
现在在测试一下刚才的例子? 
  1. <script type="text/javascript">
  2.         var a = [];
  3.         a[50] = 50;
  4.         alert(count(a));
  5. </script>
复制代码
得到结果为2
  1. <script type="text/javascript">
  2.         var a = [];
  3.         a['age'] = '18';
  4.         a['sex'] = 'Male';
  5.         a['site'] = 'http://www.qSyz.net';
  6.         alert(count(a));
  7. </script>
复制代码
得到结果为3.
  1. <script type="text/javascript">
  2.         var a = {'age':30,'sex':'male'};
  3.         alert(count(a));
  4. </script>
复制代码
得到结果为2

js获取对象、数组的实际长度,元素实际个数的实现代码 下面小编就为大家带来一篇js获取对象、数组的实际长度,元素实际个数的实现代码。小编觉得挺不错的,现在就分享 给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

联想服务器ThinkSystemRAID阵列设置教程

关注我不迷路,全是干货! 以联想ThinkSystemSR530为例子进行示范。 开机点按【F1】 点击——【UEFI设置】 依次点击——【系统设置】——【存储】 点击——【RAID卡】 PS:本次服务器配置的是730-8i 阵列卡,按实际情况选中需要设置的阵列卡即可。 点击——【Main Menu】 点击——【Configuration Management】 点击——【Create Virtual Drive】 点击——【Select RAID Leve..

littlelotusK的博客 2万+

JavaScript获取对象中元素个数

var layerGroups = {}; layerGroups[layerGroup].push(layer); var groupCount = Object.getOwnPropertyNames(layerGroups).length;

a_dev的专栏 6491

手把手教你用SpringBoot+Vue3+Docker从零搭建一个在线OJ系统(附完整源码)

本文详细介绍了如何使用SpringBoot、Vue3和Docker从零搭建一个在线OJ系统,涵盖前后端开发、判题机实现及Docker容器化部署。通过完整的源码和实战步骤,帮助开发者掌握OJ系统的核心架构与关键技术,适用于算法训练、编程竞赛等场景。

weixin_42648844的博客 297

JavaScript求数组中每个元素的个数,如数组str = [1,2,3,2,4,1,2]中元素2的个数为2。要求:使用对象知识来实现,输出结果为对象,对象包含数组元素和个数值。

求数组中每个元素的个数,如数组str = [1,2,3,2,4,1,2]中元素2的个数为2。 要求:使用对象知识来实现,输出结果为对象,对象包含数组元素和个数值。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta nam

WHT869706733的博客 608

NRF24L01模块的5个常见问题及解决方案:从信号干扰到功耗优化

本文深入探讨NRF24L01无线模块在STM32开发中的5大常见问题及解决方案,包括通信距离优化、数据丢失排查、电源噪声抑制、SPI通信故障处理以及低功耗设计。通过代码示例和电路图分析,提供实用的优化策略,帮助开发者提升无线通信的稳定性和效率。

weixin_28256233的博客 226

滤波器设计实战:Filter Solutions软件从入门到精通

本文是Filter Solutions滤波器设计软件的实战指南,从入门到精通。通过设计一个低通数字滤波器的完整流程,详细讲解了参数设置、FIR/IIR选择、窗函数及逼近函数应用。文章重点介绍了如何利用这款经典工具高效完成滤波器设计、性能权衡,并将设计成果导出至MATLAB等平台进行实际验证与应用,是信号处理工程师提升效率的实用参考。

weixin_29095049的博客 531

js获取数组长度,对象成员个数字、符串字数

文章来源:百度文库 Javascript怎么得到数组长度(也就是数组的元素个数)? Javascript怎么获取对象的成员个数? 你肯定想到了array.length!? 那么我们来测试一下下面这个例子. <script type="text/javascript"> var a = []; a[50] = 50; alert(a.length); ...

weixin_30823683的博客 1019

实战指南:在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系

本文详细介绍了在华为防火墙上构建基于自签CA的SSL证书挑战式认证体系的实战指南。通过自签CA证书生成、华为防火墙SSL VPN配置、客户端安装与测试等步骤,帮助企业实现更安全的远程办公接入方案,有效防范密码泄露风险。文章重点讲解了证书挑战登录的实现原理和配置细节,适用于企业网络安全建设。

weixin_32428571的博客 256

js数组:统计数组每个元素的个数

1.返回key-value数据结构 { "aaa":"lang", "bbb":"yun", "ccc":"song" } 特点:简单易见,但只能封装原始值数组 代码: function countArr(arr) { var hash = {}; arr.forEach((element) => { if(!hash[element]){ hash[element]=1; } else{ hash[

qq_44697303的博客 7692

【雕爷学编程】Arduino动手做(111)---震动提醒模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

雕爷学编程 1898

解锁RK平台黑科技:DPDK加速与硬件卸载实战

本文探讨了在RK平台上通过DPDK加速与硬件卸载技术构建高性能网络架构的方法。RK平台凭借强大的硬件性能为高并发网络处理提供基础,而DPDK通过用户态驱动、轮询机制等技术绕过内核瓶颈,显著提升数据包处理效率。硬件卸载则将校验和计算等任务交由专用硬件,释放CPU资源。实践案例显示,该方案可使网络吞吐量提升至理论极限,延迟降至5ms以下,CPU利用率降低40%。文章详细介绍了配置步骤、优化方法和常见问题解决方案,并展望了该技术在5G、车联网等新兴领域的应用前景。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1280

js从数组中提取自己所需的数据

1.人员选择问题,2.配置化选择数据

weixin_43190804的博客 6035

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

js计算数组中某个元素重复出现的个数

js返回一个数组某值出现的次数 输入:一个数组中某个元素的值 输出:需要计算该元素在数组中重复出现的个数 let counts = (arr, value) => arr.reduce((a, v) => v === value ? a + 1 : a + 0, 0); console.log('数组counts中"李"出现的次数是:'+counts(["李","李","设",...

lixiaoyan93的博客 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Javascript 获取数组长度, 对象成员个数, 字符串数

1.应用场景 获取数组长度, 对象成员个数, 字符串数. 2.学习/操作 TBD 3.问题/补充 TBD 4.参考 https://www.cnblogs.com/sunnywindycloudy/p/7382226.html //js获取数组长度,对象成员个数、字符串数 后续补充 ... ...

"代码"的日常搬运 9500

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JavaScript - 随机获取数组元素

1.应用场景 随机获取数组元素. 2.学习/操作 1.随机获取数组一个元素 var items = ['1','2','4','5','6','7','8','9','10']; var item = items[Math.floor(Math.random()*items.length)]; 2.随机获取几个元素 function getRandomArrayElements(arr, count) { var ..

"代码"的日常搬运 2万+

js判断数组中某个元素的个数

function statisticalFieldNumber(arr) { return arr.reduce(function (prev, next) { prev[next] = (prev[next] + 1) || 1; return prev; }, {}); } var arr = [...

马优晨 2万+

JS(JavaScript)——数组去重,及统计数组中各元素的个数(附源码!!!)

一,数组去重 方式一(使用两个for循环和if语句)执行效率相对低; var arr = [2,4,1,2,2,2,2,4,6,5,9,4,4,5,2]; for(i=0;i<arr.length;i++){ var a = arr[i]; for(a=i+1;a<arr.length;a++){ if(arr[i]==arr[a]){ arr.splice(a,1); //删除索引为a的这个元素

qq_44830054的博客 4037

JavaScript查找对象数组中某个元素的下标

关于JS的数组操作,有很多熟知的方法,比如,forEach, map, filter 等等。但是对于“查找对象数组中某个元素下标”这个需求,今天get了一个新的写法。 下面举两个例子: var array = [1,2,3,'4']; var indexOf4 = (array || []).findIndex((item) => item === '4'); console.lo...

Linda的前端开发路 4万+

JS对象数组转换,获取value、 key

js数组转对象 对象转数组 获取对象的key 或value

懒虫的博客 4878

js:数组去重和获取重复元素(普通数组和嵌套对象数组)

关于js的数组去重和获取重复元素,在项目开发中经常会遇到,这里提供个实现思路以供参考。 数组主要分为:普通数组和对象数组(嵌套对象数组)两类。 普通数组:`[1,2,3,'a','b']` 对象数组:`[{name:'zhangsan'},{name:'lisi'},{name:'wangwu'}]` 普通数组的去重,以及获取重复元素比较简单,重点是关于对象数组去重,以及获取重复元素。 对象数组去重分为两类:根据`某一属性去重`,和`去重完全相同对象`(属性属性值都相同)

Litt_White的博客 9733

js javascript 如何获取某个值在数组中的下标

js 某个值在数组中的下标javascript中知道一个数组中的一个元素的值,如何获取数组下标JS 获取数组某个元素下标 函数方法 采用prototype原型实现方式,查找元素在数组中的索引值js查找元素在数组中的位置(index值)遍历所有数组,当数组中的数值与你期望的数值相同时返回下标即可。 /* * 获取某个元素下标 * arr: 传入的数组 * obj: 需要获取下...

weixin_30632883的博客 1万+

【JavaScript】JS对象和JSON

var perStr='{"属性名":"属性值","属性名":"属性值","属性名":{},"属性名":["","",""],"属性名":[{},{},{}]}'3、创建数组并初始化:new Array("one","two",2) ,可简写: var 数组名=[元素,...]9、数组.splice(start,deleteCount,[添加的元素,...])---删除或删除添加原数组元素。1、数组1.concat(数组2)---返回数组1和数组2合并后的新数组。

想做职场小白吗? 我来教您....... 3191

js向object对象添加属性和向数组中追加元素

js向object对象添加属性和向数组中追加元素json对象添加属性json数组添加元素对象内部数组中追加元素 json对象添加属性 var jsonObj={ 'param1':11, 'param2' :22 }; jsonObj. param3='33'; json数组添加元素 var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+jsonstr+')

徊忆羽菲 7954

js--计算数组中重复出现元素的个数

一、有时候的根据需求计算数组中某个元素重复出现的个数 var arr = ["apple","orange","apple","orange","pear","orange"]; 计算出来重复出现的元素个数:{apple: 2, orange: 3, pear: 1} 二、代码实现 //统计一个数组中有多少个不重复的单词: // 不用reduce时: var arr = ["apple","orange","apple","orange","pear","orange"]

muzidigbig的博客 2万+
上一篇: 为什么要少用Iframe
下一篇: Java引用传递和值传递
calu
博客等级 码龄17年 11粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值