Articles of underscore.js

用下划线地图做一些asynchronous的事情

function addSomething(data) { var defer = q.defer(); data = _.map(data, function(item) { item['something'] = callSomethingAsync(); return item; }); return defer.promise; } 我如何处理这个问题。 我发现的唯一方法是使用Async.js。 但也许有一个更好的方式使用$ q? 编辑: function getScopes(item) { var defer = q.defer(); var query = "SELECT somevalue FROM Something WHERE ID = '" + item.id + "'"; mysql.query(query, function(err, data) { if (err) { […]

如何获取包含下划线的对象?

我需要find一个包含一个对象的key 。 它不应该返回一个包含数组或string的键。 例如, a它应该返回我但不是b或c a = {"b" : "hi","c":[1,2,3],"d":{"2:":3}}; 这是我试过的剪断。 它返回对象的第一个实例。 但我不需要数组实例只是一个字典。 var _ = require(underscore); _.findKey(a,_.isObject);

如何在underscore.js中使用对象'_'

我是nodejs的新手,我能想到的唯一方法是: var a = require ('./undercore-min') 并利用下划线对象 a([1,2,3]).each(function(a){console.log a}) 但我喜欢用优雅的'_'语法, _([1,2,3]).each() 如何做到这一点,以及如何使全局下划线?

在NodeJS中操作数据的最佳方式是什么?

我正在编写一个从广告平台获取一些数据的应用程序。 我的数据结构如下所示: { campaign_id: 123, campaign_name: SomeName, subcampaigns: [ {country: Australia, impressions: 12000, cost: 12}, {country: Australia, impressions: 14000, cost: 17}, {country: Singapore, impressions: 10000, cost: 7}, {country: Singapore, impressions: 7000, cost: 6} ] } 我需要把它变成这样的东西: [{ campaign_name: SomeName, country: Australia, impressions: 36000 cost: 29 }, { campaign_name: SomeName, country: Singapore impressions: 17000 cost: 13 […]

Nodejs呈现多个具有相同名称的项目

我试图使用下划线js,而不是为每个模板,我决定使用一个。 但是,这个代码只呈现最后一个项目(配件:行李)。 任何方式使其工作? exports.maccess = function(req, res) { collectionp.find({ "primary_category_id": "mens-accessories-gloves"}).toArray(function(err, gloves) { collectionp.find({ "primary_category_id": "mens-accessories-ties"}).toArray(function(err, ties) { collectionp.find({ "primary_category_id": "mens-accessories-luggage"}).toArray(function(err, luggage) { res.render("maccess", { _ : _, accessories : ties, accessories : gloves, accessories : luggage }); }); }); }); };

基于数组元素的连接

我使用http://underscorejs.org/ 。 问题是下面,我有一些数组,其元素是数组,例如 array1 = [[1,2],[1,3],[4,5]] array2 = [[2],[4,6]] 问题是我想通过元素来join数组,如下所示 array3 = array1 join array2 array3 = [[1,2],[1,3,4,6],[4,5]] 是否有任何优雅的方式与基于元素的join下划线。

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

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

Node.js:我如何克隆一个带有Underscore的对象,然后将新的属性分配给克隆?

我正在使用node和express来处理REST API。 我正在使用mongoose.js,我正在创build一个新的用户文件在我的分贝。 没有汗水,效果很好。 当我想添加一个属性到.save()返回的json对象时,问题就出现了。 我想在保存之后添加这个属性,因为这是一个使用REST接口的客户端的标志,但是这不是我想要保存到数据库的东西。 这是我的例子: var _ = require('underscore'); var user = new User({"username" : "Joe"}); user.save(function(err, newuser){ if (err) return next(err); var nu = _.clone(newuser); nu.newbie = 'true'; res.send(JSON.stringify(nu)); }); 下面是一个示例响应(这是在nu ): { "username": "Joe", "_id": "4f343383a5503c452a000002", } 正如你所看到的,我试图添加nu.newbie属性,并将其设置为true并且不起作用。 我相信这是某种范围或参考问题。 有任何想法吗?

Node.js和underscore.js – 模板

好的,所以我的问题是非常基本的。 我正在使用Node.js和Underscore作为注册的模板引擎,使用Expressjs框架。 我正在尝试创build部分。 我希望能够做到像你用其他语言做的事情: <% include('header') %> <body id="content"> <span>Blah</span> </body> <% include('footer') %> 你明白了。 那么,有没有人知道一种方法,使这可能使用下划线节点? 编辑: <% var isReturned = false; var isSuccess = false; if(typeof user != 'undefined'){ var isReturned = true; } if(typeof errors == 'undefined'){ var errors = null; } if(typeof success != 'undefined'){ isSuccess = true; } %> <% _.template('header') […]

Underscore.js – 没有和差异的方法麻烦

我试图在underscore.js库中使用_.without和_.difference方法,但没有运气。 这是一些代码。 var someIds = _.pluck(parsedID1, 'id'); var otherIds = _.pluck(parsedID2, 'id); 这是麻烦开始的地方,我想从someId的列表中删除所有otherIds。 所以我有两个select根据网站,或者我可以使用_.difference || _.without。 我用它们就像这样… var newArray = _.without(_.toArray(someIds), _.toArray(otherIds)); 我也试图用_.difference来做到这一点,但我似乎无法做任何事情,除了第一个参数的副本返回到函数。 我也尝试将parameter passing给函数而不使用_.toArray(),但同样的事情发生。有没有人曾经遇到过这个错误? 编辑: 我已经尝试了下面提出的方式。 我会再提供一些代码,希望能够解决这个问题。 我作为参数传入的数组采用以下格式。 var array = ['100004191488120', '100004191488321']; 当我进入_.difference时,我的操作如下: var newArray = _.difference(someIds, otherIds); 如果someIds长度是657和其他的ID是57我应该得到600 Id的结果。 相反,我得到了第一个参数的长度是657的结果。 编辑2:解决 我想清楚问题是什么,毕竟这个问题和第二个争议的问题混淆在一起。 我正在做一个数据库查询,并得到一个如下所示的列表。 [{ _id: 514721152222111116666777, facebook: { id: '123456789' } }, […]