JS的高阶函数
JavaScript的函数其实都指向某个变量。既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 这就是最简单的高阶函数啦 function high( a, b, f ){ return f(a) + f(b) } 之前遇到一个面试题是用高阶函数写一个jq里的$each方法。 let arr=[1,2,3,4,5]; function fn1(a,b) { return b(a) } function fn2(e) { for(let i=0;i<e.length;i++){ console.log(i,e[i]) } } fn1(arr,fn2) 然后前面我引入的连接里有写一些高阶函数的方法,我们来一一介绍使用一下~ 1.map() 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果。 let arr =[1,2,3,4,5]; arr.map(item =>{ console.log(item) }) //1,2,3,4,5 let arr =[1,2,3,4,5]; const arr2 = arr.map(x =>++x) console.log(arr2) // 2,3,4,5,6 2.filter