1.相似
语法上来看两者相似,都能接受一个回调函数,并作用于调用者。
var arr = [1,2,3,4,5,6];
var mapArr = arr.map(item=>item+=1);
var filterArr = arr.filter(item=>item+=1);
console.log(mapArr);
console.log(filterArr);
2.区别
不同点在于:当回调函数为【布尔函数】时
map()函数会将回调函数作用于“调用者”的每一个元素,一一执行后将返回的结果构成数组作为最终结果返回。
filter()函数会将回调函数作用域"调用者"的每一个元素,一一执行后将返回结果为真的结果构成数组作为最终结果返回。
var arr = [1,2,3,4,5,6];
var mapArr = arr.map(item=>item>5);
var filterArr = arr.filter(item=>item>5);