JavaScript 接受函数作为参数

示例

function transform(fn, arr) {
    let result = [];
    for (let el of arr) {
        result.push(fn(el)); // 我们将转换后的项目的结果推入结果
    }
    return result;
}

console.log(transform(x => x * 2, [1,2,3,4])); // [2,4,6,8]

如您所见,我们的transform函数接受两个参数,一个函数和一个集合。然后它将迭代该集合,并将值压入结果,并fn分别调用它们。

看起来很熟悉?这与工作原理非常相似!Array.prototype.map()

console.log([1, 2, 3, 4].map(x => x * 2)); // [2,4,6,8]