1.push&pop
push方法是在数组末尾增加一个元素,函数返回值为当前数组的长度
Pop方法是在数组的末尾删除一个元素,函数 返回值是被pop掉的item
2.concat&slice
concat方法适用于合并多个数组产生一个新数组。可以接受多个数组和元素作为入参为元素时。将元素加入原来的数组,入参为数组时,按顺序将数组的每一项加入原数组中
var names = [“gorge”, “mike”, ‘Alice’];
var allNames = names.concat("maria", ["jack", "jones"]);
allNames 为 [“gorge”, “mike”, ”Alice“,”maria”,"jack", "jones"]
Slice 方法用于数组的截取,可以接收一个或两个number类型的参数,表示从数组的下标序号为多少开始截取数组,一直到下标为多少的元素结束,不包括最后的一位元素,第二个参数不传,默认截取数组到最后一位。例如:
var allNames = ["gorge", "mike", "Alice","maria","jack", "jones"];
var names1 = allNames.slice(1);
//[ "mike", "Alice","maria","jack", "jones"]
var names2 = allNames.slice(1,4);
// ["mike", "Alice","maria"]
3.神奇的splice方法
同时最数组做增删的方法,接收两位以上的参数,可以如下理解:splice(fromIndex:number, deleteItemNum:number,insertItem1:Any,…)
第一个参数表示数组操作的序号为,从第几位位置开始增加或删除,
在指定操作序号位的请款下,第二个参数表示删除几个元素,
第三个,四个…参数表示要增加的元素。例如:
var allNames = ["gorge", "mike", "Alice","maria","jack", "jones"];
var names1 = allNames.splice(1,2);
// ["gorge","maria","jack", "jones"] 从下标为1的开始删除,删除俩个
var names2 = allNames.slice(1,3,"jason");
// ["gorge","jack", "jones","jason"] 从下标为1开始,删除3个元素,在下标为1的位置增加一个元素 jason
4.indexof&lastIndexof
数组的正向查找和反向查找方法,当数组中存在两个要查找的A值时indexof(A) 和 lastIndexof(A)返回值不一致,若只有一个A值时返回值一致。
方法都是找到第一个符合条件的值立即返回,没有找到返回-1.
5.数组的5个迭代方法:
every() 入参为function,当每个元素在function的返回都为true时,返回true,即返回个元素执行function且的关系。
some(),入参为function,与every对应,只要任何一个元素在function的返回都为true时,返回true。即返回个元素执行function或的关系。
filter() 很好理解,入参为function,为过滤不满足某种条件的元素,返回满足条件元素的数组。
forEach(),入参为function,单纯的处理数组中的每一项元素,没有返回值。
Map() ,入参为function,将数组的每一个元素都做特殊处理,生成新的元素,将新的元素组成的数组返回。
6.数组归并reduce&reduceRight
Reduce方法是用于将数组的每一项元素经过某种操作,最终将结果合并成一个值,返回最终合并的结果值,例如数组的相加求和。reduce()方法的入参为function和操作的初始值,function的入参为4位,pre:当前操作初始值,cur当前操作元素,index:当前元素在数组中的下标,array,当前操作的数组。
var array = [1,2,3,4,];
array.reduce(function(pre, cur, index, array){
console.log(pre,cur)
return pre+cur;
},10)
上面例子记录的是,操作初始值为10,第一次计算,pre为10,cur为数组第一位元素1,返回11,第二次操作pre值自动赋值为第一次操作的return值11。
第二次操作,pre值为11,cur为2,return13……以此类推。最终返回结果为10+1+2+3+4 =20;当reduce不传入操作初始值时,第一次操作pre值为数组的第一位元素,cur为数组第二位元素。
reduceRight()方法与reduce方法一致,只是遍历数组时从右到左开始便利,第一次操作pre为4.