将咖喱函数与 lodash 链接起来
chaining curry functions with lodash
受到这篇关于咖喱函数的文章的启发,我试图将它们链接起来并提出了这个解决方案。不过,我不确定混合,因为我不知何故觉得 lodash 可能具有这样的功能。如果是这样,这个函数叫什么?
var _ = require('lodash');
var get = _.curry(function(property, object) {return object[property]});
var map = _.curry(function(fn, objects){ return objects.map(fn) });
var json = {
"user": "hughfdjackson",
"posts": [
{ "title": "why curry?", "contents": "..." },
{ "title": "prototypes: the short(est possible) story", "contents": "..." }
]
}
_.mixin({
then:function(input, fn) {return fn(input);}
});
_(json)
.then(get('posts'))
.then(map(get('title')))
.tap(console.log)
在 Hugh Jackson 的(优秀!)文章中,then
函数可能来自 Promise 库,可能与 AJAX 调用相关联。 因此,如果您从那里开始,则不需要自己做。 像这样将其混合到_
中确实看起来很奇怪。
Lo-Dash和Underscore将允许您使用其curry
功能执行此操作。 一些较新的库(如 Ramda 和 FKit)会自动执行此操作。 他们的get
和map
版本已经变得柯里化,并被设计为以这种方式使用。(披露:我是Ramda的作者之一)
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 如何使用jQuery自动打开页面上的所有链接
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- jquery动画可以通过编程链接吗
- 在单击href链接的同时下载文件
- 尽管链接成功并已成功下载,但未找到NPM模块
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 单击页面上的链接后高度发生变化
- 将纯文本URL转换为可单击链接
- python-selenium-点击上升链接
- 一点javascript元编程&可链接的设置器
- ng视图外的链接重定向到ng视图内的页面
- 如何创建(可选)像Lodash中那样的可链接函数
- lodash:链接mapValues时出错
- 如何使用链接在使用 Lodash 3.0 模块时
- 如何使用 lodash 链接函数
- Lodash 链接 - 类型错误
- 将咖喱函数与 lodash 链接起来
- 转换 jQuery 对象中的 lodash/underscore 集合(链接)