Articles of lodash

Heroku找不到模块'lodash / object / assign'

我遇到了部署到Heroku的问题。 只要rm -f node_modules发生同样的错误,然后用npm install重新安装,就可以在本地运行。 但是当我部署到heroku的错误不断发生。 甚至与bash一起执行相同的步骤。 然后我用npm shrinkwrap,注意到aws-sdk依赖于lodash vs 3.5.0 <3.6.0。 所以我相应地在我的package.json中设置lodash版本。 这一切仍然在本地运行,但不断在heroku上崩溃。 节点v5.0.0 NPM v3.3.6 "dependencies": { "aws-sdk": "^2.6.6", "bluebird": "^3.4.6", "body-parser": "^1.15.2", "express": "^4.14.0", "goosepage": "0.0.1", "lodash": "^3.5.0" } 额外的英雄日志 Error: Cannot find module 'lodash/object/assign' Function.Module._resolveFilename (module.js:337:15) Function.Module._load (module.js:287:25) Module.require (module.js:366:17) require (module.js:385:17) Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:5:12) Object.<anonymous> (/app/node_modules/xmlbuilder/lib/index.js:14:4) Module._compile (module.js:425:26) Object.Module._extensions..js (module.js:432:10) Module.load […]

如何折叠一个string元素的数组到其string?

承担 { "foo":[ "baz" ], "bar": { "blarg": [ "blippo" ], "blunder": { "bus": [ { "bigly": [ "bugnuts" ] } ] } }, "blather": [ { "bumpy": [ "bugaloo" ] }, { "blither": { "bother": [ "bingo" ] } } ] } 什么是最有效的方法(最好使用lodash)转换,所有叶子是一个成员的数组现在包含该成员,而不是数组? 如: { "foo": "baz", "bar": { "blarg": "blippo", "blunder": { "bus": […]

合并两个对象并删除原来不存在的属性

我有一个前端应用程序,用户可以在其中添加/删除字段。 我试图创build一个PUT请求的API,通常我只是_.merge(original,req.body),但更新的对象有多个属性从对象不在原始对象中删除。 有没有什么办法来合并对象,并有新的对象,也从原来的一个被删除的领域 – 同时保持原来的对象和合并两个对象上存在的值(这是一个带有id属性的mongoose模型这样我需要保持) 谢谢!

我怎样才能从节点命令行运行一个去抖动function?

我知道什么是反弹 。 我想在节点中触发它(通过使用#!/usr/bin/env node运行脚本),但是我遇到了麻烦。 下面的代码应该 : make doThingAfterDelay()在被调用一次之后运行一个简单的函数,而不被再次调用100ms。 运行doThingAfterDelay() 睡眠(asynchronous)15秒,给doThingAfterDelay()时间去抖动,因此执行。 但是它不起作用: var log = console.log.bind(console), _ = require('lodash') var doThingAfterDelay = _.debounce(function(){ return 'foo' }, 100); log(doThingAfterDelay()); setTimeout(function(){ log('Sleeping') }, 15 * 1000) 它返回: undefined Sleeping 我期望: foo Sleeping 我怎样才能使去抖function运行? 编辑:我可以得到所需的输出: var log = console.log.bind(console), _ = require('lodash') var doThingAfterDelay= _.debounce(function(){ log('foo') }, 100); doThingAfterDelay('one', […]

Q承诺不起作用,减lessfunction

我试图返回最早修改date的目录中的文件。 这种方法似乎在createFileDateMap函数中失败。 我想减less一个文件path的数组,并创build一个文件名和MODdate的对象。 getModDate函数是一个asynchronous的fs.lstat调用。 我似乎无法设置我的reducer的acc从.then()块内的值。 当值取决于asynchronous调用时,我不确定如何实现减less var _ = require('lodash'), fs = require('fs'), path = require('path'), Q = require('q'); function checkDir(dir) { // Check if given path is valid directory var deferred = Q.defer(); fs.lstat(dir, deferred.makeNodeResolver()); return deferred.promise.invoke('isDirectory'); } function getFiles(dir) { // Get all files within a directory var deferred = Q.defer(); fs.readdir(dir, deferred.makeNodeResolver()); […]

在lodash属性上合并/连接两个数组对象

是否有可能根据两个数组中存在的属性合并两个数组对象。 我想通过lodash lib来实现这个function。 例如,考虑id为PK的列表,以及catagoryId为FK的电影列表 电影类别数组: [{ id: "cartoon", catagoryName:"Cartoon", },{ id: "drama", catagoryName:"Drama", },{ id: "action", catagoryName:"Action", }] 一些电影。 [{ categoryId:"action", movieName:"Spy", year: 2015 },{ categoryId:"drama", movieName:"San Andreas", year: 2015 },{ categoryId:"cartoon", movieName:"Rio", year: 2013 },{ categoryId:"action", movieName:"Jurassic World", year: 2015 }] 我正在通过下划线或lodash寻找的输出。 [{ id: "cartoon", catagoryName:"Cartoon", movies:[{ categoryId:"cartoon", movieName:"Rio", year: 2013 }] },{ id: […]

lodash计算数组元素之间的差异

在javascript中使用lodash,我需要一种方法来计算数组元素之间的差异,例如: 随着数组 [0,4,3,9,10] 我需要得到每个元素之间的差异。 输出应该是 [4,-1,6,1] 我将如何使用lodash做到这一点? 在ruby中,它看起来像这样: ary.each_cons(2).map { |a,b| ba }

使用Lodash从JSON对象获取特定于环境的configuration

鉴于我有以下的JSON对象, dbConfig = { "db": "default", "default": { "defaultDB": "sqlite", "init": "init", "migrations": { "directory": "migrations", "tableName": "migrations" }, "pool": { "min": "2", "max": "10" }, "sqlite": { "client": "sqlite3", "connection": { "filename": "data/default/sqlitedb/test.db" } }, "oracle": { "client": "oracledb", "config": { "development": { "user": "test", "pass": "test", "db": "test" }, "production": { "user": "test", […]

lodash SortBy对象内容

我有这样的对象数组: var quantityPricing = [ { quantity: 1, cost: 0.5 }, { quantity: 100, cost: 0.45 }, { quantity: 1000, cost: 0.25 }, { quantity: 500, cost: 0.35 } ]; 我正在尝试按照数量升序排列这个数组的内容,所以我期待的结果应该是: [ { quantity: 1, cost: 0.5 }, { quantity: 100, cost: 0.45 }, { quantity: 500, cost: 0.35 }, { quantity: 1000, cost: 0.25 […]

我如何在我的量angular器testing中使用lodash _.find?

我想使用Lodash findfunction,使我的量angular器testing更健壮。 代替 element.all (by.repeater ('topic in topics')).then (function (topics) { expect (topics[1].element (by.binding ('topic.name')).getText()).toEqual ('Maths'); expect (topics[1].element (by.binding ('topic.description')).getText()).toEqual ('2 + 2 = 4'); }); 就像是 element.all (by.repeater ('topic in topics')).then (function (topics) { var mathsTopic = _.find (topics, 'topic.name', 'Maths'); expect (mathsTopic.element (by.binding ('topic.description')).getText()).toEqual ('2 + 2 = 4'); }); 我的推理是,如果页面中的项目顺序发生变化,testing不会中断,因为它仍然可以find正在查找的数据的元素。