一、map方法(数据处理)
基本方法:let resultArr = array.map(function(cur,index,array),thisarray);
cur:当前值 index:当前索引 array:调用方法的数组 thisarray:指定调用的哪个数组
该方法需要return一个值,这个值将作为新数组的项,如果map没有return,那么新数组每一项都为undefined
示例
简单实现:翻倍
map方法的实现
手动实现map方法:
①for循环实现:
②foreach实现:
③reduce实现
二、reduce方法(累加器)
基本方法:let result = array.reduce(func(pre,cur,index,arr),inidate)
pre:上一次的返回值 cur:当前项的值 index:当前项索引 arr:当前数组 inidate:初始值
示例及解析:
示例一:简单累加器
初始值为0,后续对每一项进行相加,得出累加值
示例二:计算每个元素在数组中出现的个数
示例三:二维数组转一维数组
直接对每一项进行数组拼接
示例四:对象属性求和
三、forEach方法(执行器)
基本用法:array.forEach(function(cur,index,array),thisArr)
cur:当前值 index:当前索引 array:调用方法的数组 thisarray:指定调用的哪个数组
该方法与map类似,但不存在返回值,只是对数组的每一项进行一个操作,也不会改变原数组
四、filter方法(过滤器)
基本方法:let resultArr = array.filter(function(cur,index,array),thisArr)
cur:当前值 index:当前索引 array:调用方法的数组 thisarray:指定调用的哪个数组
该方法与map、forEach类似,存在返回值,对数组每一项进行判断,返回满足条件项组成的数组
示例: