javaScript数组里的高阶函数

17 篇文章 0 订阅
1.filter:数组过滤

filter中可以传入另外一个函数,然后filter会自动回调这个传入的函数,在回调这个函数时,回传递过来3个参数item、index、arr,
这个数组有5个元素,意味着这个函数会被回调5次(也就是在内部实现filter函数的时候他会在内部调5次传入的函数)

//[10,5,11,100,55]
nums.filter(()=>boolean)
var newNums=nums.filter(function(item,index,arr){
return false
})
console.log(newNums)//[]

var newNums=nums.filter(function(item,index,arr){
return item%2===0//偶数
})
console.log(newNums)//[10,110]
2.map:映射
//[10,5,11,100,55]
var newNums=nums.map(function(item){
	return item*10
})
console.log(newNums)//[100,50,110,1000,550]
3.forEach:迭代(枚举)(遍历)

无返回值

//[10,5,11,100,55]
var newNums=nums.forEach(function(item){
	return item*10
})
4.find:查找(返回item)
//[10,5,11,100,55]
var item=nums.find(function(item){
	//return true//10
	return item===11//11
})
5.findIndex:查找(返回索引)
//[10,5,11,100,55]
var item=nums.findIndex(function(item){
	//return true//10
	return item===11//2
})
6.reduce:累加

preValue:上一次的返回值
initalValue:初始化的值(不传默认是0)

//[10,5,11,100,55]
nums.reduce(function(prevValue,item){
	return 0
},initalValue)

var total=nums.reduce(function(prevValue,item){
	return prevValue+item
},0)
console.log(total)//181
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值