javascript - JS中的函数数组
问题描述
如何创建一个接受输入的函数,例如13
,然后在该输入上执行数组中的所有函数并返回输出,4
在这种情况下
array = [
function(a){ return a * 2 },
function(a){ return a + 1000},
function(a){ return a % 7 }
]
function f(array){
console.log(array);
}
解决方案
正如戴夫在问题中回答的那样,您可以使用它reduce
来实现这一点:
const runFunctionSequence = (sequence, input) => sequence.reduce((accumulatedOutput, fun) => fun(accumulatedOutput), input);
const arr = [
function(a){ return a * 2 },
function(a){ return a + 1000},
function(a){ return a % 7 }
];
console.log(runFunctionSequence(arr, 13)); // -> 4
推荐阅读
- c# - c# How to Intercept "Save Print Output As" dialog in Revit
- asp.net - X509 Store throws error when published on server, but not when running on localhost ASP.NET CORE 5
- macos - 无法在 neovim、Iterm2 中复制
- node.js - 调用函数返回 Promise
- php - PHP 超链接中的多个变量
- python - Python Seaborn Relplot 科学记数法
- python-3.x - 如何调整嵌入式饰品输出图的输出标题
- nginx - 错误:Dns-probe-finished-nxdomain-google-cloud-platform 和 nginx
- excel - 类型函数 Type List, M if then 语句
- r - 如何组合矩阵中名称部分包含 R 中相同字符串的行?