我通常会使用map方法来对数组的数据进行修改。 但是在使用map方法的时候,通常会遇到这种情况:
let list=[1,2,3,4,5,6,7];
let mapList = list.map(item=>{ if(item%2) return item})
mapList结果:[1, undefined, 3, undefined, 5, undefined, 7]
使用map方法,他会把你不需要的数据,变成undefined传了进去。
但我想要的是这样的结果:[1,3,5,7]
使用filter方法过滤一下,即可达到这种效果。
例:
let list=[1,2,3,4,5,6,7];
let mapList = list.map(item=>{ if(item%2) return item}).filter(item=>{return item})
mapList结果:[1,3,5,7]
你也可以这样
let list=[1,2,3,4,5,6,7];
let mapList = list.filter(item=>{ if(item%2) return item})
mapList结果:[1,3,5,7]
filter会对return的数据进行判断,如果数据为空值,则不会return到数组中去