Tag: lodash

如何检查一个string是否与node.js中的任何一个正则expression式匹配?

我试图有效地检查一个string是否匹配任何正则expression式的数组,并在第一次遇到的匹配返回true(打破正则expression式的迭代) 我目前的代码: _.forEach(self._connectedClients, function(client) { if (client.authenticated) { var interested = _.forEach(client.interests, function(interest) { if (evt.event_type.search(interest) != -1) { return true; } }); if (interested) { self._sendJSON(client.socket, data); } } }); 兴趣是一系列正则expression式。 有什么build议么? 提前致谢

在lodash集合中使用variables名称

问题有点疯狂。 有没有可能使用variables名而不是另一个,显然,考虑下面的代码,我必须相应地切换到任何variables名“人”或“学生” var people=[ {name:"akash",age:25}, {name:"abi",age:22} ]; var student =[ {name:"Sanjai",age:25}, {name:"Ravi",age:35}, {name:"Bopara",age:36} ]; var variables=["people","student"]; var result= _.find(variables[0], function(o) { return o.age < 35; }); console.log(result);

lodash indexBy不是uniq键

我怎样才能索引数组与非uniq键。 我尝试使用lodash indexBy,但它没有给出预期的结果。 var keys = [ { 'dir': 'left', 'code': 97 }, { 'dir': 'left', 'code': 100 }, { 'dir': 'right', 'code': 50 }, { 'dir': 'right', 'code': 51 } ]; var a = _.indexBy(keys, 'dir'); 结果: { left: { dir: 'left', code: 100 }, right: { dir: 'right', code: 51 } } 预期结果: […]

每个关联arrays的Lodash

在关联数组中有一个forEach循环在Lodash中吗? 我发现, 称为 “forEach”的函数仅适用于索引数组。 例如,如果我有一个数组myArray与值[1, 2, 3] ,并做 lodash.forEach(myArray, function(index) { console.log(index); }); 并运行该function(在Node ),我得到了预期的结果: 1 2 3 但是,当我尝试与关联数组,这是行不通的: lodash = require('lodash'); myArray = []; myArray['valOne'] = 1; myArray['valTwo'] = 2; myArray['valThree'] = 3; lodash.forEach(myArray, function(index) { console.log('7'); }); 正如你可以在Node看到的那样,即使它包含了除数组元素以外的东西,callback函数也不会被触发。 它似乎完全跳过循环。 首先,为什么会这样呢? 其次, Lodash是否还有另外一个函数来处理这个问题,或者,如果没有的话,有没有办法使用forEach函数来完成这个任务,而不需要改变stream程中的原始数组呢?

如何添加mixin ES6的JavaScript类?

在具有一些实例variables和方法的ES6类中,如何添加一个mixin? 我在下面给出了一个例子,虽然我不知道mixin对象的语法是否正确。 class Test { constructor() { this.var1 = 'var1' } method1() { console.log(this.var1) } test() { this.method2() } } var mixin = { var2: 'var2', method2: { console.log(this.var2) } } 如果我运行(new Test()).test() ,它会失败,因为类中没有method2 ,因为它在mixin中,所以我需要将mixinvariables和方法添加到类中。 我看到有一个lodash mixin函数https://lodash.com/docs/4.17.4#mixin ,但我不知道如何使用它与ES6类。 我很好地使用lodash的解决scheme,甚至没有库提供mixinfunction的纯JS。

如何从数组中删除对象,用lodash?

我试图使用LoDash从数组中删除一个对象。 在server.js(NodeJS) var lodash = require('lodash')(); var rooms = [ { channel: 'room-a', name: 'test' }, { channel: 'room-b', name: 'test' } ] 我去用两个命令去尝试,而不是工作: var result = lodash.find(rooms, {channel: 'room-a', name:'test'}); var result = lodash.pull(rooms, lodash.find(rooms, {channel: 'room-a', name:'test'})); 在console.log(结果)中: LodashWrapper { __wrapped__: undefined, __actions__: [ { func: [Function], args: [Object], thisArg: [Object] } ], […]

如何使用lodash或下划线同步迭代数组

我有一个数组,其中包含每个索引的文件名。 我想一次一个 (同步)下载这些文件。 我知道' Async '模块。 但是我想知道在Lodash或Lodash或Bluebird库中的任何函数是否支持这个function。

如何更新lodash到最新版本

我在Debian的Linux版本上使用npm来安装Jpm。 但是我得到的安装lodash版本的错误(如下所示) test@localhost:~# npm install jpm –global npm WARN deprecated lodash@2.4.1: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0. 我提到了以下几个链接,但仍然无法更新版本,但问题依然存在。 https://github.com/lodash/lodash/tree/3.10.1-npm https://github.com/npm/npm/issues/10573 请build议更新lodash版本的解决scheme。

Lodash与mongoose合并

这里是使用express.js和mongoose的更新方法的代码片段。 我试图合并现有的mongo实体与请求负载体中的json对象。 exports.update = function(req, res) { if(req.body._id) { delete req.body._id; } Entity.findById(req.params.id, function (err, entity) { if (err) { return handleError(res, err); } if(!entity) { return res.send(404); } var updated = _.merge(entity, req.body); updated.save(function (err) { if (err) { return handleError(res, err); } return res.json(200, entity); }); }); }; 这不幸的是不起作用。 我得到这个错误 node_modules/mongoose/lib/document.js:1272 doc.save(handleSave); ^ […]

在lodash _.clone不工作?

我有 config.default_req = { foo: 'foo' } this.default_req = _.clone(config.default_req); this.default_req.body.data = 'bar'; 现在config.default_req.data等于'bar',为什么呢?我以为用lodash克隆应该只是复制对象,失去了原来的链接! 任何想法如何克隆/复制node.js中的对象? (v.0.10.40) 编辑:对于那些会得到这个问题,一个简单的克隆/复制function: var clone = function(source){ return JSON.parse(JSON.stringify(source)); };