JavaScript 数组 length 属性获取数组长度或设置数组元素的数目

本文详细介绍了JavaScript数组length属性的功能,包括如何获取数组长度、利用数组下标增加元素时的行为及length属性设置数组长度的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript 数组 length 属性

JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下:

array_object.length
利用 length 属性得到元素数目
<script language="JavaScript">

var array_1 = new Array('a',10.5,true);
document.write( '数组长度 ' + array_1.length );

</script>

运行该例子,弹窗输出:数组长度 3

再看下面这个特殊的例子:

<script language="JavaScript">

var array_1 = new Array('a',10.5,true);
array_1[5] = 'b';
document.write( array_1 + "<br />");
document.write( '数组长度 ' + array_1.length );

</script>

运行该例子,输出:

a,10.5,true,,,b
数组长度 6 

这个例子说明:

  1. 使用数组下标的方式增加数组元素后,如果不是紧挨着最后的元素增加,则中间会出现 undefined 的空元素
  2. undefined 的空元素会被计算在数组元素数目内,也就是 length 的值始终比最大的下标大 1(下标从 0 开始计数)
利用 length 属性设置数组元素数目

利用 length 属性还可以设置数组的元素数目,具体见下面的例子:

<script language="JavaScript">

var array_1 = new Array('a',10.5,true);
array_1.length = 6;
document.write( array_1 + "<br />");
document.write( '数组长度 ' + array_1.length );

</script>

运行该例子,输出:

a,10.5,true,,,
数组长度 6 
参考阅读

转载于:https://www.cnblogs.com/Siegel/p/6189278.html

### JavaScript 中对象是否具有类似数组 `length` 的属性JavaScript 中,普通的对象并没有内置的类似于数组的 `length` 属性来表示其键值对的数量[^1]。然而,类数组对象是一种特殊的情况,它确实拥有一个 `length` 属性,但这并不意味着该属性会动态反映对象内部的变化。例如: ```javascript var obj = { length: 0 }; obj[3] = 'd'; console.log(obj.length); // 输出 0 ``` 上述代码展示了一个普通对象被赋予了 `length` 属性,但它并不会随着新增加的索引项而自动调整。 #### 对象与数组的区别 尽管类数组对象可能看起来像是数组,但实际上它们并不是真正的数组。主要区别如下: - **`length` 动态性**:在真实数组中,`length` 是动态更新的;而在类数组对象中,除非手动修改,否则不会随内容改变而变化[^2]。 - **方法继承**:真实的数组从 `Array.prototype` 继承了一系列实用的方法(如 `push()`、`pop()`),但类数组对象不具备这些功能。 #### 如何获取对象中的键数量? 如果需要知道某个对象有多少个可枚举的属性,可以使用 `Object.keys()` 方法并结合 `.length` 来计算: ```javascript let obj = { a: 1, b: 2, c: 3 }; let keysCount = Object.keys(obj).length; console.log(keysCount); // 输出 3 ``` 这种方法适用于任何标准的对象实例,并能有效统计其中定义的键数目[^4]。 ### 总结 普通对象本身不自带能够自动维护大小的 `length` 属性。对于需要这种特性的场景,开发者通常依赖于额外逻辑者利用工具函数完成相应需求处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值