如果你深度依赖一个外部的频繁发生变动的变量, 你的代码将会变得既不可预测又难以追踪, 找出bug的位置或者解释变量的值如何变化将会变得更加困难....在上述的例子中, 如果对函数传入一个参数2, 那么它将始终返回结果4. 但是对于一个产生随机数的函数来说, 结果就不是这样了....JavaScript内建了许多第一类的高阶函数, 比如在数组中常用的filter, map, reduce.
filter用来从原数组中, 对元素筛选满足条件的部分后保持顺序返回新的数组
const myArr...在下面这个例子中, 我们通过给map函数传入一个函数来将每个元素都乘以2
const myArr = [1, 2, 3, 4, 5];
const doubled = myArr.map(i => i...* 2); // [2, 4, 6, 8, 10]
reduce根据输入的数组输出一个单一的值, 通常用来计算数组的元素的值的总和, 或者扁平化数组, 或者将元素分组.
const myArr = [