JS基础之数组

一、概念

数组(Array)
- 数组也是一个对象
- 它和普通的对象功能类似,也是来存储一些值的
- 不同的是普通对象是使用字符串作为属性名的
而数组是使用数字来作为索引操作元素
索引
从0开始的整数就是索引(index
- 数组的存储性能比普通对象好,在开发中我们经常使用数组来存储一些数据

创建数组对象
var arr = new Array();

使用typeof检查数组会返回object

向数组中添加数组
语法:数组[索引] = 值

读取不存在的索引,它不会报错,而是返回undefined

获取数组长度
使用length获取数组的长度(个数)
对于非连续的数组,使用length会获取到数组的最大索引+1
尽量不要创建非连续的数组

修改length
如果修改的length大于原长度,则多出部分会空出来
如果修改的length小原长度,则多出元素会被删除

向数组的最后一个位置添加元素
语法:数组[数组.length] = 值 ;

二、使用数组字面量创建数组

使用字面量创建数组
var arr = [];

使用字面量创建数组,可以在创建时,直接指定数组中的元素

创建一个长度为X的数组
arr4 = new Array(X);


数组中的元素可以是任意的数据类型,可以是对象,也可以是一个函数,数组中也可以放数组,称为二维数组

 

三、数组的方法

push()
- 该方法可以向数组的末尾添加一个或多个元素,并且返回数组新的长度
- 可以将要添加的元素作为方法的参数传递
这样这些元素会自动添加到数组的末尾
-该方法会将数组新的长度作为返回值返回

pop()
- 该方法可以向数组的末尾删除一个或多个元素,
并且将被删除的元素作为返回值返回

unshift()
- 向数组的开头添加一个或多个元素,并且返回新的数组长度
- 向前边插入元素,其他元素的索引依次调整

shift()
- 删除数组的第一个元素,并将被删除的元素作为返回值返回

concat()
- 可以连接两个或者多个数组,并将新的数组返回
- 该方法不会对原数组产生影响

join()
- 该方法可以将数组转换为一个字符串
- 该方法不会对原数组产生影响,而是将转换后的字符创作为结果返回
- join()中可以制定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
不指定连接符,默认,号

reverse()
- 该方法用来反转数组(前后颠倒)
直接对原数组进行修改

sort()
- 用来对数组进行排序
直接对原数组进行修改
默认按照Unicode编码进行排序,所以对数字进行排序时,可能会得到错误的结果

slice()
- 从数组中提取指定元素
- 该方法不会改变原数组,而是将截取到的数组封装到一个新的数组中返回
- 参数
1.截取开始的位置的索引,包含开始索引
2.截取结束的位置的索引,不包含结束索引
第二个参数可以省略不写,这时截取从开始索引到往后的所有元素
- 索引可以传递一个负值,负值表示倒数

splice()
- 删除数组中的指定元素
- 使用该函数会影响到原数组,会将指定元素从原数组中删除
并将被删除的数组作为返回值返回
- 参数
第一个:表示开始位置索引
第二个:表示删除的数量
第三个及以后:可以传递新的元素,这些元素将会自动插入到开始索引前边

第二个参数为0时,不删除元素,直接往开始索引前边插入元素

四、forEach遍历数组

一般我们都是使用for循环去遍历数组
JS中提供一个方法,来遍历数组
forEach() 这个只支持IE9以上的浏览器

forEach需要一个函数作为参数
- 像这种函数,由我们创建,但是不由我们调用的,我们称之为回调函数
- 数组中有几个元素,就执行几次。每次执行时,浏览器会将遍历到的元素
以实参的形式传递进来,我们可以定义形参,来读取这些内容
- 浏览器会在回调函数中传递3个参数
第一个参数,当前正在遍历的元素
第二个参数,当前正在遍历的元素的索引
第三个参数,当前正在遍历的数组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值