find、filter、map的区别

1、find 查询数组中符合条件的第一个元素,如果没有符合条件的元素则返回空数组

var arr = [1,2,3,4,5,6,7]
var newarr=arr.find(v=>v===4)

var men=[
   {name:'zhangsan',age:'18',sex:''},
   {name:'lisi',age:'10086',sex:'nan'},
   {name:'xiaohuangren',age:'23',sex:'nan'},
   {name:'xiaokeai',age:'18',sex:''},
]
var women= men.find(person=> person.sex==='')

 

2、filter 过滤数组元素,返回过滤后的数组,如果没有符合条件的元素则返回空数组
//输出大于5的数,组成新数组
var
arr = [1,2,3,4,5,6,7]; var newarr = arr.filter(function(num){ reture num>5?num:'' });

 

3、map 对每个数组元素执行相同操作,返回执行后的新数组(我喜欢称呼他为映射,一一对应)
//给数组的每一个元素加1,组成新数组
var arr = [1,2,3,4,5,6,7];
var newarr=arr.map(function (num) {
    return num+1;
})

 

总结的话,他们三个的区别是很明显的,
find是只返回一个值,这个值是符合条件的第一个
filter是返回一个新数组,这个新数组中的值是符合条件的值组成的数组
map 是返回一个与原数组length相等的数组,因为map是对每一个元素进行了操作



如果本文对您有帮助,请抬抬您的小手,点下右下角的推荐, ^-^,当然如果看了这篇博客对您有帮助是我最开心的事,毕竟赠人玫瑰,手有余香, ^-^,如果这篇博客没有帮助到您,那就只能说一声抱歉啦




posted @ 2018-11-13 22:37  Katydids  阅读(837)  评论(0编辑  收藏  举报