Javascript - 以编程方式执行所有函数输入的方法
Javascript - Programmatically execute method on input of all functions
我想在函数列表中添加一个解析器,例如:
var list = {
function1: function(input){},
function2: function(input){}
}
我希望所有input
参数都预先设置了另一个函数。这可能吗?
有什么建议吗?
提前致谢
你的意思是这样吗?它使用将f
预应用于其输入的方法创建funcs
的新副本。
function addPreProcessing(funcs, f) {
return Object.keys(funcs).reduce(function (o, key) {
o[key] = function (input) {
return funcs[key](f(input));
};
return o;
}, {});
}
var list = {
log: function (input) { snippet.log(input); },
quadruple: function (input) { return input * 4; }
};
// preprocess all inputs by doubling them
var list2 = addPreProcessing(list, function (input) {
return input * 2;
});
list2.log(5); // logs 10 ( 5 * 2 )
snippet.log(list2.quadruple(1)); // logs 8 ( 1 * 2 * 4)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
这是上面addPreProcessing
函数的lodash版本:
function addPreProcessing(funcs, f) {
return _.mapValues(funcs, _.flowRight(_.partial(_.flow, f), _.identity));
}
相关文章:
- 如何将输入(type=text)从html表单传递到javascript函数
- 是否可以将一个函数输入连接到另一个函数调用的文本
- JavaScript按钮/输入/函数,字符串反转
- javascript函数,它接受两个输入:一个对象和一个键,并返回对象中该键的相应值
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- 使用JAVASCRIPT转换货币.可以't通过我的函数设置转换后的输入文本字段的值
- JavaScript:在调用函数的文本输入上按enter键
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 是否可以在没有外部输入的情况下使函数具有自我意识
- HTML如何根据javascript函数的返回值限制文本输入
- 函数输入上未终止的文本字符串
- Javascript - 以编程方式执行所有函数输入的方法
- 通过函数输入更改不同的变量
- JavaScript 调整函数输入变量
- mysql数据库中没有通过Javascript函数输入值
- 从函数输入到Javascript中插入带有换行符的单词
- javascript函数输入验证
- 如何在HTML/JS中存储表单函数输入的多个字符串
- javascript中的拆分函数输入type = "text"