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是对每一个元素进行了操作








猜你喜欢

转载自www.cnblogs.com/katydids/p/9955299.html