所谓高阶函数, 就是函数中可以传入另一个函数作为参数的函数.
function 高阶函数 (函数){}
这是一个高阶函数, f 是传入的函数作为参数.
其实高阶函数用的很多. 其实平时也用, 只是或许有些人并不知道那叫高阶函数.
JS 函数可以传入变量, 而函数也是一个变量, 自然也是可以传递的.
如:
map: 一般用于操作数组集合, 遍历操作用.
使用 map(String) 可以将数组的元素转字符串化:
但是内部对象会变成 [object Object], 数组会变成逗号分隔字符串, 整个函数也会变成字符串. 一般最好只转换基本类型元素.
当然也就有了 map(Number), 可以将字符串转数字. 引用类型直接变成 NaN. 如果字符串不是纯数字也会变成 NaN.
reduce: 数组元素计算.
如: 这是数组求和, 将元素全部加起来, 相当于 1+2+3+4+5.
当然也有数组求差, 相当于 1-2-3-4-5.
filter: 筛选元素用. 返回数组元素的判断 (boolean):
如: 筛选出数组中的奇数,%2 不为 0 的就是奇数
筛选掉空字符串, null,undefined:
数组去重:
筛选条件: 当前元素位置 === 数组该元素的第一个位置
sort: 数组重排序. 返回同一个数组对象. 根据 ascii 码进行排序.
x>y: 从小到大
x<y: 从大到小
重排序的数组还是原来的数组.
英文也可以排序:
中文也可以排序:
所以我的名字是根据 ascii 排序来的吗?
来源: https://www.cnblogs.com/wuhairui/p/10632596.html