JS中的数组

 除了 ObjectArray 应该就是 ECMAScript 中最常用的类型了。ECMAScript 数组跟其他编程语言 的数组有很大区别。跟其他语言中的数组一样,ECMAScript 数组也是一组有序的数据,但跟其他语言 不同的是,数组中每个槽位可以存储任意类型的数据。这意味着可以创建一个数组,它的第一个元素 是字符串,第二个元素是数值,第三个是对象。ECMAScript 数组也是动态大小的,会随着数据添而 自动增长。

创建数组

有几种基本的方式可以创建数组。一种是使用 Array 构造函数,比如:

如果知道数组中元素的数量,那么可以给构造函数传入一个数值,然后 length 属性就会被自动创 建并设置为这个值。比如,下面的代码会创建一个初始 length 20 的数组:

也可以给 Array 构造函数传入要保存的元素。比如,下面的代码会创建一个包含 3 个字符串值的 数组:

创建数组时可以给构造函数传一个值。这时候就有点问题了,因为如果这个值是数值,则会创建一 个长度为指定数值的数组;而如果这个值是其他类型的,则会创建一个只包含该特定值的数组。下面看 一个例子:

 在使用 Array 构造函数时,也可以省略 new 操作符。结果是一样的,比如:

 一种创建数组的方式是使用数组字面量array literal)表示法。数组字面量是在中括号中包含以逗号分隔的元素列表,如下面的例子所示:

 

在这个例子中,第一行创建一个包含 3 个字符串的数组。第二行用一对空中括号创建了一个空数组。 第三行展示了在数组最后一个值后面加逗号的效果:arr9 是一个包含两个值(1 2)的数组。

注意 与对象一样,在使用数组字面量表示法创建数组不会调用 Array 构造函数。

数组索引

要取得或设置数组的值,需要使用中括号并提供相应值的数字索引,如下所示:

 

在中括号中提供的索引表示要访问的值。如果索引小于数组包含的元素数,则返回存储在相应位置

的元素,就像示例中 arr[0]显示"red"一样。设置数组的值方法也是一样的,就是替换指定位置的 值。如果把一个值设置给超过数组最大索引的索引,就像示例中的arr[3],则数组长度会自动扩 展到该索引值加 1(示例中设置的索引 3,所以数组长度变成了 4)。

数组中元素的数量保存在 length 属性中,这个属性始终返回 0 或大于 0 的值,如下例所示:

 数组 length 属性的独特之处在于,它不是只读的。通过修改 length 属性,可以从数组末尾删除或添加元素。来看下面的例子:

 

这里,数组 arr4 一开始有 3 个值。将 length 设置为 2,就删除了最后一个(位置 2 的)值, 因此 arr4[2]就没有值了。如果将 length 设置为大于数组元素数的值,则新添加的元素都将以 undefined 填充

 

注意 数组最多可以包含 4 294 967 295 个元素,这对于大多数编程任务应该足够了。如果

尝试添加更多项,则会导致抛出错误。以这个最大值作为初始值创建数组,可能导致脚本

运行时间过长的错误。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值