Tag: lodash

Lodash从地图断开/减less错误?

如果我有一个像_.transform的function。 iteratee函数中的某处遇到错误; 如何退出_.transform函数? 即 { try { fs.readFileSync('dog_pics'); } catch(e) { return; } } 那么_.map呢? 哪个期望return语句。

如何在javascript中使用相同的键创build一个对象中数组的对象数组

我有一个看起来像这样的对象数组 [{ "name": "Agile Process", "id": 27, "score": 3, "source": "Self" },{ "name": "Agile Process", "id": 27, "score": 4, "source": "Trainer" },{ "name": "2 & 3 Tier Architecture", "id": 37, "score": 4, "source": "Self" },{ "name": "2 & 3 Tier Architecture", "id": 37, "score": 5, "source": "Trainer" }] 我希望能够产生这样的东西,我一直在努力,但我似乎并没有得到它的一窍不通。 [ { "name": "Agile Process", "id": […]

最干净的方式来合并对象

我有几个结构相同的对象; 其中一些对某些字段具有空值,而其中一个对象(这里是obj2)具有在其他对象中具有空值的字段的值; 我想把它们合并起来,成为一个有价值的东西: var obj2 = { options: [ null ], name: "name1", } var obj1 = { options: [ {"option": "option1"} ], name: "name1", } desiredOutput = { options: [ {"option": "option1"} ], name: "name1", } 我的尝试:我试过lodash; 但与lodash的议题是秩序有影响; 也就是说,无论哪个对象最后都会覆盖前面提到的字段: 我试过lodash; 这里myArray是一个obj1,obj2,… var newResults = {}; for (var i = 0; i < myArray.length; i++) […]

我怎么能把一个项目与checked = true取决于数据库中的信息?

我有一个项目列表,选项选中或取消选中它们。 我正在做一个post请求,以保存未经检查的项目,该post请求工程很好,但我有一个问题与获取请求,前端从后端检索罚款信息,但我有这个function正在进行checked = true的项目,而不是照顾未经检查的项目已保存 if (sports.length) { $scope.sports = _.map(sports, function(sport) { sport.checked = true; return sport; }); }; 所以,如果用户刷新页面,由于上面的function,所有的项目回到checked = true 。 那么我该怎么做才能坚持与选中或未选中的项目? 为了坚持这个数据,我必须改变那个函数呢? 这是我关于数据获取请求的代码 我正在使用lodash ,以防万一… 前端 controller.js 请阅读本代码中的注释 .controller('SportsController', function($scope, SportsFactory, AuthFactory) { $scope.sports = []; SportsFactory.getSportChecked(customer).then(function(sportChecked) { _.each(sports, function(sport) { var sportIds = _.pluck(sports, 'id'), intersectedSports = _.intersection(sportIds, sportChecked), checkedSportObjects = […]

NPM安装旧版本并不完全安装recursion依赖项

在我inheritance的项目中,packages.json大致如下所示: { "name": "…", "version": "…", "description": "", "author": "…", "license": "ISC", "dependencies": { "lodash": "^3.10.1", "assemble": "^0.4.37", "cheerio": "^0.16.0", "grunt": "^0.4.4", "grunt-build-control": "^0.1.3", }, "keywords": [ "handlebars-helper-md", "handlebars-helper-rel" ] } 当我第一次得到它时, lodash是lodash ,我试图将它更新到3.10.1 (如上所示)。 然而, npm继续在顶层安装2.4.1 (尽pipepackage.json请求较新的版本),并且它不会在一些依赖中安装所请求的版本2.4.1或2.4.2 (比如assemble和cheerio )。 因此当我npm install lodash@3.10.1它抱怨未满足的依赖关系。 我试过以不同的顺序和组合来删除node_modules和npm clear cache和rm -rf $HOME/.npm ,没有任何改变。 我如何得到lodash@3.10.1安装在所有依赖关系的顶层和请求版本的lodash (而不是依赖使用lodash的顶层副本 – 我认为这是正常的方式npm工作)? 优选地,解决scheme不需要将所有依赖关系更新为新版本(假设甚至是可能的)。 这可能是一个解决scheme,但这将需要更多的validation,以确保没有任何破坏。

Node.js不能要求并将lodash分配给名为下划线(_)的variables

我正在尝试在Node.js项目中使用lodash。 如果我需要模块使用下面的语句,它工作正常: var lodash = require("lodash"); 但是,如果我把这个语句改成这样: var _ = require("lodash"); 那么variables下划线_是未定义的。 不知道为什么会发生这种情况,也无法find任何关于这一点的信息。

如何模块化和结合我的图书馆?

我是新来的模块JS,但我喜欢这个概念。 我想写我的小图书馆来testing一下。 这是我想要的样子: 它有5个方法 你可以下载一个完整的库来导出一个全局variables – 青蛙。 这是一个没有任何东西的模块,但它将5个独立的方法作为依赖项下载 您可以像正常一样访问Frog库的所有方法,例如Frog.get(),Frog.animate()等。 我知道如何写这样的东西,但我可以像这样模块化? 您可以下载5个模块中的4个 第一个下载的模块名为Frog.animate创build一个空的青蛙对象,并添加.animate方法 第二个叫做.css的下载模块将带有.animate的前一个Frog对象,并将.css添加到该对象 等等…基本上只是将方法添加到一个对象 是这样的可能吗? 如何? 我知道Lodash是非常模块化,你可以cherrypick方法。 他们只是单一的function,如forEach()而不是_.forEach()或是有什么不同? 我应该如何模块化所有这些青蛙方法? 将它们导出为独立的单一function? var animate = require("./Frog.animate"); animate(something);

嵌套Lodash forEach

我有一个相当深的内存数据库,我想,我已经find了最好的代码实现,如果有人有一个更好的方法来做一个双重forEach循环在lodash中,或者如果我用它错了某种方式将是伟大的知道。 物体: smallDB = { user1:{ permissions:[], locations:[ {ip:'0.0.0.0',messages:[]}, {ip:'',messages:[]} ] }, user2:{ permissions:[], locations:[ {ip:'0.0.0.0',messages:[]}, {ip:'0.0.1.0',messages:[{mid:'a unique id','user':'the sender',message:'the text of the message'}]} ] } } 发送一条消息我使用: ld.forEach smallDB, (a)-> ld.forEach a.locations, (b)-> b.messages.push {mid,user,message} 我只是想确保这是将消息添加到miniDB中的所有用户以及所有位置的最佳方式

如何在使用Lodash 3.0模块时使用链接?

以下是示例节点repl会话: $ mkdir /tmp/foo $ cd /tmp/foo $ npm install lodash lodash@3.0.0 node_modules/lodash $ node > var chain = require('lodash/chain/chain') > var map = require('lodash/collection/map') > var value = require('lodash/chain/value') > var fruits = ['apple', 'banana', 'cherry'] > chain(fruits) { __actions__: [], __chain__: true, __wrapped__: [ 'apple', 'banana', 'cherry' ] } > value.call(chain(fruits)) [ 'apple', […]

pipe道过滤和lodash处理

我有以下lodash伪代码,这将处理auctions : var auctions = [{'item': 12345, …}, {'item': 12345, …}, {'item':23436, …}]; var process = function(auctions) { _(auctions) .groupBy('item') .thru(processSpecialItems) .each(processCommonItems) .value(); } 每个函数都依赖于前一个函数的结果,但在processSpecialItems和processCommonItems的情况下: 只有特定的item ,即。 由给定item值标识的组将由processSpecialItems处理。 只有那些没有被处理的团体应该继续处理共同的processCommonItems 。 这些操作是CPU密集型的,涉及数据库访问。 问题: 我怎样才能过滤这些特殊的物品,处理它们,然后把剩下的东西还回来? 最好尽可能less的通过,因为data包含超过40,000个项目。 使用同步迭代是否可接受,性能明智? 这段代码将被执行400次(全部在同一时间)。