Tag: 函数编程

按date对logging进行sorting,然后用lodash对计数进行着色和聚合

我有一个对象的数组,我想按datesorting,然后通过颜色和总结出现使用lodash InitialArray = [{"date":"2017-07-26","partner":"partner1","total":102,"occurrence":10},{"date":"2017-07-27","partner":"partner1","total":100,"occurrence":20},{"date":"2017-07-27","partner":"partner1","total":110,"occurrence":25},{"date":"2017-07-27","partner":"partner2","total":105,"occurrence":30}] 我需要按datesorting,然后按合作伙伴进行sorting,并累计给定date的总数和发生次数。 所以我最后的数组需要看起来像: FinalArray = [{"date":"2017-07-26","partner":"partner1","total":102,"occurrence":10},{"date":"2017-07-27","partner":"partner1","total":210,"occurrence":45},{"date":"2017-07-27","partner":"partner2","total":105,"occurrence":30}] 我能够以非function方式获得结果,但是我想优化代码,并使用lodash的function方式,因为项目已经在使用它了。我能够find一个例子,在那里我可以groupby一个给定的然后使用sum运算符来聚合其他字段。 但找不到任何例子,以groupby 2字段,然后聚合。 任何帮助表示赞赏。

Bacon.js和RxJS与Express.js和Mongoose.js

我使用Express.JS(4.x版)在服务器端使用Bacon.js, 这个方法从不回应! 我在这里做的事情是非常错误的吗? var User = require('../data/User'); var Bacon = require('baconjs').Bacon; module.exports = function(router){ router.route('/users').get(function(req, res){ var result = Bacon.fromNodeCallback(User.find, null); result.onValue(function(docs){ res.status(200).send(docs); }); result.onError(function(err){ res.status(500).send(err); }); }); }; 很显然,我和RxJS一样都失败了… var User = require('../data/User'); var Rx = require('rx'); module.exports = function(router){ router.route('/users').get(function(req, res){ var query = Rx.Observable.fromNodeCallback(User.find)(); query.subscribe(function(docs){ res.send(docs); }, function(err){ res.send('Error: ' + err); […]