数组

数组

1. 数组的定义与元素访问

定义有三种方式

(1)var a = [];

(2) var a = new Array();

(3) var a = [0,0,0];

访问元素:数组名+下标

a[0]  a[3]

需要注意的是下标从0开始。

所以在使用的时候需要注意越界问题,比如5个元素的数组,那么它的下标范围为【0,4】,不包括5,5已经越界了。

数组的本质:一组变量的集合,或者说是一组内存单元。只不过对于变量的表示方式使用的是数组名+下标的方式。

2. 数组的常用属性和方法

数组的属性:

length:

1).告诉我们数组的长度:数组名.length

2).通过该属性可以改变数组的长度

 

数组的常用方法:

1)unshift:在数组的头部添加元素,返回值返回的是新数组的长度。

shift:删除数组头部的元素,返回值是删除的头部元素。

2)indexOf:查找在数组中重复出现的元素第一次出现的位置,返回值是该元素的下标。

lastIndexOf:查找数组中重复出现的元素最后一次出现的位置,返回值是该元素的下标。

3)push:在数组的尾部插入元素,返回值是添加元素后数组的长度。

pop:从数组的尾部删除最后一个元素,返回值是删除的元素。

4)slice(开始位置的下标,结束位置的下标):提取数组中指定连续的子数组。前包括,后不包括。

5)splice(开始删除位置的下标,要删除元素的长度,要选择插入或替换的内容),splice有“剪接”的含义。前面两个参数定义“剪”的部分,第三个参数定义“接”的部分,经过不同的参数组合就可以实现以下三个功能:

1、删除操作:删除数组中指定的任意元素

2、插入操作:在数组中指定位置插入元素

3、替换操作:在数组中替换指定位置的元素。

6)reverse:将数组中的元素,反序输出。在原数组的基础上进行反序输出,不会重新创建新数组。

7)map:原数组的映射,经过函数的加工,返回给一个新数组。

3.数组的应用

1)查找

indexOf系统提供的查找方法

我们也可以自己做一个查找

a.顺序查找

这种查找方法最简单,但是查找次数与数据量成正比效率低

b.折半查找(二分查找)

假设在一个已经有序的数组中,可以利用折半大幅提高效率。

折半查找的最坏查找次数与数据量的关系是对数关系,所以说它的查找效率是很高的,但是任何事情都有两面性,高效率就要有高代价,它的代价就是有序。

2)排序(冒泡排序、选择排序)

3)队列:先进先出,在头部出队(shift),在尾部入队(push)

4)堆栈:先进后出,在尾部进队(push),在尾部出队(pop)

总结

数组的这些方法否有参数返回,不过有些返回的是下标,有些是数组。
其中splice是最强大的,他可以实现好多功能,比如说删除,替换,添加等操作。
数组有查找功能,这个功能本身自己就有的indexOf,但是我们也可以自己做一个查找,比如说顺序查找,折半查找。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值