javascript基础学习系列七十二:数组索引

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

let colors = ["red", "blue", "green"]; // 定义一个字符串数组
 alert(colors[0]);
colors[2] = "black";
colors[3] = "brown";
// 显示第一项 // 修改第三项 // 添加第四项

在中括号中提供的索引表示要访问的值。如果索引小于数组包含的元素数,则返回存储在相应位置 的元素,就像示例中 colors[0]显示"red"一样。设置数组的值方法也是一样的,就是替换指定位置的 值。

如果把一个值设置给超过数组最大索引的索引,就像示例中的 colors[3],则数组长度会自动扩 展到该索引值加 1(示例中设置的索引 3,所以数组长度变成了 4)。

数组中元素的数量保存在 length 属性中,这个属性始终返回 0 或大于 0 的值,如下例所示:
数组 length 属性的独特之处在于,它不是只读的。通过修改 length 属性,可以从数组末尾删除 或添加元素。来看下面的例子:

let colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组 colors.length = 2;
alert(colors[2]); // undefined

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

letcolors=["red","blue","green"]; //创建一个包含3个字符串的数组 colors.length = 4;
alert(colors[3]); // undefined

这里将数组 colors 的 length 设置为 4,虽然数组只包含 3 个元素。位置 3 在数组中不存在,因 此访问其值会返回特殊值 undefined。
使用 length 属性可以方便地向数组末尾添加元素,如下例所示:

letcolors=["red","blue","green"]; //创建一个包含3个字符串的数组 colors[colors.length] = "black"; // 添加一种颜色(位置3) colors[colors.length] = "brown"; // 再添加一种颜色(位置4)

数组中最后一个元素的索引始终是 length - 1,因此下一个新增槽位的索引就是 length。每次 在数组最后一个元素后面新增一项,数组的 length 属性都会自动更新,以反映变化。这意味着第二行 的 colors[colors.length]会在位置 3 添加一个新元素,下一行则会在位置 4 添加一个新元素。新的 长度会在新增元素被添加到当前数组外部的位置上时自动更新。换句话说,就是 length 属性会更新为 位置加上 1,如下例所示:

letcolors=["red","blue","green"]; //创建一个包含3个字符串的数组 colors[99] = "black"; // 添加一种颜色(位置99) alert(colors.length); // 100

这里,colors 数组有一个值被插入到位置 99,结果新 length 就变成了 100(99 + 1)。这中间的 所有元素,即位置 3~98,实际上并不存在,因此在访问时会返回 undefined。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值