数组的操作方法
非静态方法:所有实例对象都可以调用
1)concat():数组的拼接 返回值为一个新的数组

2)slice(): 数组截取 不修改原数组
参数不同时返回值不同:
0:返回一个新的数组,并且和原数组一样

1: index:从当前index位置开始截取,截取到数组末尾结束

2: begin end 从begin位置开始截取,到end位置结束,不包含结束位置 -1代表最后一个元素

3)splice(): 数组截取 修改原数组
参数不同时返回值不同:返回值是截取的数组
0:返回一个空数组

1:index 从当前位置开始截取,到数组末尾结束

2:begin num 从begin位置开始截取,截取num个

3: 替换 begin 2 "hello","world"

插入 begin 0 "hello"

4)indexOf():全等比较,查找数组元素,默认从前向后查找,只找一个元素,对于找到的元素,返回元素的下标;对于找不到的元素,返回-1.

indexOf(key,index): 从index元素开始找

5)lastIndexOf():查找数组元素,从后向前查找

迭代方法:
参数:回调函数 当前回调函数中的this值
回调函数参数: item数组元素 index当前元素的下标 arr当前数组
6)forEach:对数组中的每一元素运行给定的函数,没有返回值,常用来遍历元素


7)every:当每一个数组元素满足条件时,返回true

8)some:只要有一个元素满足条件,返回true

9)map(): 返回一个操作之后的新数组

10)filter():过滤 返回一个满足条件的新数组

自己定义一个myForEach函数

11)reduce():参数 :回调函数 this
回调函数参数: pre item index arr
pre:上一次回调函数的返回值或者初始值
如果this值没有设定,那么第一次pre为数组的第一个数组项,如果this值设定了,那么第一次pre为初始值,第二次的pre为上一次毁掉函数的返回值


下面是一个笔试题:
给定一个数组:
var a=[1,2,3,4,5,6,7....]
请写一个函数可以返回一个数组,形式如下:
var b =[[1,2,3,4,5],[6,7,8,9,10]...]
即5个一组分割成数组再组成一个更大的数组,最后一个数就包含几个,但不得为空。
