js中的filter⽅法和map⽅法filter⽅法⼜叫过滤器,顾名思义就是过滤符合条件的得到⼀个新的数组
let arr =[7,8,9,10]
let arr =[7,8,9,10]
let newArr = arr.filter(function(value, index){//这⾥的value代表的时数组中每个元素,index是对应的下标
//列如返回数组⼤于8的元素
if(value >8){
return value
}
})
console.log(arr)
console.log(newArr)
现在我们看看对原数组进⾏修改会返回什么结果
let arr =[7,8,9,10]
let arr =[7,8,9,10]
filter过滤对象数组let newArr = arr.filter(function(value, index){//这⾥的value代表的时数组中每个元素,index是对应的下标
//列如返回数组⼤于8的元素
if(value >8){
return value+'你好'
}
})
console.log(arr)
console.log(newArr)
会发现数据不会发⽣改变的。
也就是说:filter⽅法是对原数组的元素进⾏过滤,返回到⼀个新的数组中去。不影响原始的数组。map⽅法的使⽤
let arr =[7,8,9,10]
let arr =[7,8,9,10]
let newArr = arr.map(function(value, index){//这⾥的value代表的时数组中每个元素,index是对应的下标
//列如返回数组⼤于8的元素
if(value >8){
return value+'你好'
}
})
console.log(arr)
console.log(newArr)
可以看到,多打印了两个undefined,这不是我想要的结果,你可以这样
let arr =[7,8,9,10]
let newArr = arr.map(function(value, index){//这⾥的value代表的时数组中每个元素,index是对应的下标
//列如返回数组⼤于8的元素
if(value >8){
return value +'你好'
}
return value
})
总结
filter⽅法是对原数组进⾏过滤筛选,产⽣⼀个新的数组对象
map⽅法对元素中的元素进⾏加⼯处理,产⽣⼀个新的数组对象,⽽且不会改变数组的原始长度。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。