数组遍历
- 所谓的遍历数组就是将数组中的元素全部取出来
- 一般使用for循环遍历数组
- js中还提供了一个方法用来遍历数组;
forEach( );
-
forEach( )方法需要一个函数作为参数;
-
像这种函数由我们创建但不由我们调用的函数叫回调函数
-
数组中有几个元素函数就会执行几次,每次执行时,浏览器会将遍历到的元素以实参的形式传递进来,可以定义形参来读取这些内容
-
浏览器会在回调函数时,传递三个参数
-
第一个参数就是当前正在遍历的元素
-
第二个参数就是当前正在遍历的元素索引
-
第三个参数就是当前正在遍历的数组
slice( )
可以用来从数组中提取指定元素
- 该方法不会改变原数组,而是将截取到的元素封装到一个新数组
- 参数:
1.截取开始位置的索引,包含开始索引
2.截取结束位置的索引,不包含结束索引 - 第二个参数可以省略不写,此时会截取从开始索引往后 的所有元素
- 索引可以是负值,如果传递一个负值,则从后往前计算
-1 倒数第一个
splice( )
- 可以用于删除数组中的指定元素
- 使用splice( )会影响到原数组,会将指定元素原数组中删除,并将被删除的元素作为返回值返回
- 参数:
- 第一个参数表示开始位置的索引
- 第二个参数表示删除的数量
- 第三个及以后可以传递一些新元素,这些元素会插入在开始位置的索引前面
利用splice()方法可以删除数组中重复的元素
concat( )
concata( )可以连接两个或多个数组,中间用逗号隔开并将新的数组返回
- 该方法不会对原数组产生影响
Join( )
该方法可以将数组转换成字符串
- 该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
- 在join( )中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符
reverse( )
- 该方法用来反转数组(前边的去后边,后边的去前边)
- 该方法会直接修改原数组
Sort( )
- 该方法会对数组中的元素进行排序
- 也会影响原数组,默认会按照Unicode编码进行排序
- 即使是纯数字的数组,也会按照Unicode编码进行排 序
- 可以自己指定排序的规则,可以在sort()添加一个回调函数,来指定排序规则
回调函数中需要定义两个形参;
浏览器会分别使用数组中的元素作为实参去调用回调函数- 浏览器会根据回调函数的返回值来决定元素的顺序
如果返回一个大于0的值,则会交换位置
如果返回一个小于0的值,则元素位置不变
如果返回0,则认为两个元素相等,也不交换位置
- 浏览器会根据回调函数的返回值来决定元素的顺序