Array常用方法:
1、改变原数组
push():向数组末尾添加新的元素,并返回新组的长度;
pop():删除数组最后一个元素,并返回该元素;
unshift():数组开始添加一个或多个元素,返回新数组长度;
shift():删除数组第一个元素,并返回该元素;
sort():数组按字符编码排序,返回改变后的数组
reverse():颠倒数组;返回颠倒后的数组;
splice(index , howmany , item1,.....,itemX)数组更新:从index开始删除howmany项,item1...itemx,为新添加的项,j加在数组前面;改变原数组;返回删除项数组
2、不改变原数组
join(" "):数组转字符串,插入指定符号(默认是逗号),返回转化后的字符串,原数组不变;
concat():合并数组,原数组不变,返回合并结果;
slice(star,end)截取数组:返回截取指定位置数组,包括开始不包括结束;end可以省略,表示到结束位置;负数表示倒数
3、Es5新增
(1)索引方法
indexOf(item,start):从satr开始查找,返回item在数组中的第一次位置;返回-1为没有该项
lastIndexOf(item):从末尾开始查找,返回item在数组中的第一次位置
(2)5个迭代方法
forEach():遍历数组,无返回值;array.forEach(function(currentValue , index , arr){//do something}, thisValue)
map():映射,返回新数组,原数组不变;map(function(currentValue , index , arr){//do something}, thisValue)
filter():过滤,返回过滤后的数组,原数组不变;filter(function(currentValue , index , arr){//do something}, thisValue)
every():匹配数组,全部符合返回TRUE,否则返回false;every(function(currentValue , index , arr){//do something}, thisValue)
some():与every相反,数组中有一个满足就返回true,否则返回false;用法同上
#####(3)2个归并方法
reduce():从数组的第一项开始,逐个遍历到最后;reduce(function(total , cur , index , arr){//do something}, initialValue)
reduceRight():从数组最后一项开始,到最前面;用法同上,total为初始值,total,cur为必写项
4、Es6新增方法7个
(1)from():类数组转数组;元数据不变,返回转换后的数组;
(2)of():将一组值转换为数组;
(3)find(function(currentvalue,index,arr){}):根据函数匹配元素,第一次返回true即停止执行下面项,如果都不符合返回undefind,空数组不执行,返回匹配项
(4)findIndex():遇上同,返回对应索引;
(5)fill(val,start,end):填充数组,val未填充值,start未开始,end为结束,均可为负值;改变原数组;
(6)includes(searchValue,fromIndex):查找数组是否含有指定值,有返回true,没有返回false
(7)copyWithin(target,start,end):从数组的指定位置拷贝元素到数组的另一个指定位置中,会覆盖原有成员
(8)遍历数组方法 keys()、values()、entries():这三个方法都是返回一个遍历器对象,可用for...of循环遍历,唯一区别:keys()是对键名的遍历、values()对键值的遍历、entries()是对键值对的遍历。