Tag: lodash

我怎样才能从节点命令行运行一个去抖动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正在查找的数据的元素。

lodash或者强调每个方法在Node.js中并行运行?

我知道在节点中,除了你的代码之外,所有东西都是平行的。 阅读这里和这里 。 我正在寻找一个可能的场景,我在内存中有一个非常大的数组,我想对它的每个元素执行一个小的计算。 这个计算执行的顺序并不重要。 在节点中,由于事件循环,所有的I / O执行都非常有效,但是当你迭代一个集合时,不会有I / O参与,如果迭代时间太长,你可以在那段时间内阻塞所有的传入请求。 这个要点包含了Neilk在他的文章中写到的nonBlockingForEach 为什么你应该使用Node.js来执行CPU绑定的任务 ,这让我想知道是否我写了这样的东西 var my_very_large_array = […]; my_very_large_array.forEach(function() { … }) //or _.each(my_very_large_array, function() { … }) 我将在我的服务器上遇到性能瓶颈(如果存在的话,这个库可以回退到原生的forEach) 从我学到的东西中,有很多像async.js这样的库,但是我总是在浏览器中使用lodash或者下划线来完成这些任务。 我也试过bluebird.js,但promisifying这些方法没有按预期工作。 所以我的问题是这个。 在使用forEach方法迭代大型集合时,lodash或者在node.js环境中强调性能杀手?

Lodash自动生成树视图

我想为我的反应组件自动生成一个树形视图。 我有自己的path多个文件。 例如: COM /公司/模型/ Main.java COM /公司/控制器/ Move.java COM /公司/控制器/ Rotate.java COM /公司/查看/ Watch.java 目标是让对象数据看起来像这样: var data = { name: com, children: [{name: company, children: [ {name: model, children: [{name: Main.java}] }, {name: controller, children: [{name: Move.java},{name: Rotate.java}] }, {name: view, children: [{name: Watch.java}] } ]}] } 我发现这个库拆分我的path选项卡: https : //nodejs.org/api/path.html 喜欢这个 : var […]

反转键的方法:对象中的值

无论如何,人们可能会转向以下; { "ID": "id" "Name": "name" } 成; { "id": "ID", "name": "Name" } 使用lodash? 我专门寻找的东西沿线; var newObj = _.reverseMap(oldObj); 谢谢 :)