数组是我们在项目中经常使用的数据类型,今天我们主要简述作用于遍历数组的api,filter
和map
的区别。
首先,我们主要阐述一下 filter 和 map 的共同点
map
: arr.map(()=>{})filter
: arr.filter(()=>{})map
: arr.map((item,index)=>{})filter
: arr.filter((item,index)=>{})return
map
: arr.map((item,index)=>{ return xxx})filter
: arr.map((item,index)=>{ return xxx})map
和filter
都会遍历整个数组下面,我们来简要阐述一下filter和map的区别
返回值不同
map
返回的是整个数组,通常被用来计算数组中每个元素的值filter
返回的是数组中满足以return作为条件的元素。代码展示
// map作筛选 无意义 ×
var a = [1,2,3,4,5];
var b = 1;
var c = a.map(item=>{return item === b});
console.log(c) [true, false, false, false, false
// filter 作筛选 √
var a = [1,2,3,4,5];
var b = 1;
var c = a.filter(item=>{return item === b});
console.log(c) [1]
// map 作计算 √
var a = [1,2,3,4,5];
var b = 1;
var c = a.map(item=>{return item +1});
console.log(c) // [2, 3, 4, 5, 6]
// filter 作元素的计算 无意义 ×
var a = [1,2,3,4,5];
var b = 1;
var c = a.filter(item=>{return item +1});
console.log(c) // [1, 2, 3, 4, 5]