JavaScript——数组

数组

数组用于存放多个数据

创建一个数组

  1. new Array(长度)

长度,数组里面的数据总数,长度一定是一个非负整数

new Array(数据, 数据, 数据…)

创建一个数组,并初始化其每一项的值

数组项:数组其中的一项数据

  1. [数据,数据,数据,…]

创建一个数据,并初始化其每一项的值

认识数组的本质

数组的本质是一个对象

  • length属性:数组的长度,会自动变化,值为最大下标+1
  • 数字字符串属性:叫做下标,也叫做索引,相当于数组中每个数据的编号,下标从0开始排列

连续下标的取值范围:0 ~ length -1,如果给length直接赋值,会导致数组可能被截断

实际开发中,不要给length赋值。

下标

通常情况下,下标是连续的。

下标不连续的数组,叫做稀松数组。

数组的常见操作

添加数组项

  • 数组[长度] = 数据:向数组末尾添加一个数据
  • 数组.push(数据): 向数组末尾添加一个数据
  • 数组.unshift(数据):向数组起始位置添加一个数据,会导致数组每一项的下标向后移动
  • 数组.splice(下标, 0, 添加的数据): 从指定下标位置开始,删除0个,然后在该位置插入添加的数据,如果下标超过范围,则按照范围的边界进行处理。

push、unshift、splice可以添加多个数据

删除数据

  • delete 数组[下标]: 这种做法不会导致数组其他的属性发生变化,因此,该做法会导致产生稀松数组,所以不推荐使用该做法。
  • 数组.pop(): 删除数组的最后一项,该表达式返回最后一项的数据
  • 数组.shift():删除数组第一项,该表达式返回第一项的数据
  • 数组.splice(下标, 删除的数量, 添加的数据): 从指定下标位置开始,删除指定数量,然后在该位置插入添加的数据,如果下标超过范围,则按照范围的边界进行处理。返回一个新数组,该数组记录被删除的数据。

其他操作

  • 数组.slice(起始位置下标, 结束位置下标):将起始位置到结束位置之间的数据拿出来,得到一个新的数组,该函数不会改变原数组;注意:结束下标取不到

下标可以写负数,如果是负数,则从数组的末尾开始计算。

如果不写结束下标,则直接取到末尾。

  • 数组清空

数组.splice(0, 数组.length);

数组.length = 0;

  • 查找数组中某一项的下标

数组.indexOf(数据)

从数组中依次查找对应的数据,查找时使用严格相等进行比较。找到第一个匹配的下标,返回。如果没有找到,则得到-1;

数组.lastIndexOf(数据)

功能和indexOf类似,只是查找的是最后一个匹配的下标

  • 数组.fill

数组.fill(数据):将数组的所有项,填充为指定的数据

数组.fill(数组, 开始下标): 将数组从开始下标起,到数组的末尾,填充为指定的数据

数组.fill(数组, 开始下标,结束下标): 将数组从开始下标起,到数组的结束下标(取不到),填充为指定的数据

语法补充

in关键字

判断某个属性在对象中是否存在

属性名 in 对象

for-in foreach 循环

for(var prop in 对象){
    //循环体
}

取出对象的所有属性名,每次循环将其中一个属性名赋值给变量prop,运行循环体。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值