详解JavaScript 高阶函数
高阶函数简介
高阶函数 的英文名叫 higher-order function ,是 函数式编程 中的一种。他的表现形式往往是通过把函数作为参数传入另一个函数,或者将函数作为另一个函数的返回值返回。在实际开发业务中, 高阶函数往往可以抽象我们的代码 ,将我们的命令式编程转换为复用性更高级的函数式编程,从而 提升我们的代码质量 。
下面拿3个面试中常问的高阶函数举例子,希望看完以后能够提升大家对js的理解,提高我们的代码质量。 chat is cheap,show you my code~
array.map()
功能介绍
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。 map() 方法按照原始数组元素顺序依次处理元素。
tips
注意: map() 不会对空数组进行检测。 注意: map() 不会改变原始数组。
实用意义及代码举例
总结:
针对数组中每一项都要做的操作,可以实用map方法
array.reduce()
功能介绍
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
reduce() 可以作为一个高阶函数,用于函数的 compose。
tips:
注意: reduce() 对于空数组是不会执行回调函数的。
实用意义及代码举例
总结:
针对数组中所有的项累计计算的操作,最终输入一个值,可以使用reduce方法
array.filter()
功能介绍
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
tips
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。
实用代码举例
总结:
对于数组中每一项的筛选功能,可以使用filter方法
array.flat()
功能介绍
flat() 方法可以将嵌套数组(多为数组)降维,变成低维数组或者一维数组。(数组摊平展开)
tips
注意: 存在一定兼容性问题,例如ie不兼容
实用代码举例
以上就是详解javascript 高阶函数的详细内容,更多关于javascript 高阶函数的资料请关注其它相关文章!