Tag: underscore.js

Javascript / Coffeescript使用哈希函数作为参数

我有一些看起来像这样的Coffeescript(提前表示歉意): doc = new ChargerServerDoc(Chargers.find({id:site.id}), site) doc.set_defaults().merge().needs_update update: (id, doc) -> Chargers.update id, $set: doc, (error, result) -> if error run_stats.error_count += 1 "error" else run_stats.update_count += 1 "update" return insert: (doc) -> Chargers.insert doc, (error, result) -> if error run_stats.error_count += 1 "error" else run_stats.insert_count += 1 "insert" return 它应该创build一些文档,并实现插入或更新到数据库作为callback。 needs_update: (callbacks = null) […]

使用Node查找对象数组的索引

我正在使用Node的下划线模块。 比方说,我有一个对象的数组; var years = [{year:"2000"}, {year:"2001"}, {year:"2002"}]; 我想find2000(0)的索引 我不认为这是行得通的。 这个模块还有其他的方法吗? 或只是JavaScript? _.indexOf(years,2000);

创build多个dynamic对象NodeJs查询Mongodb

我有一个对象的数组 [ { userId: '541c83d89ff44f767a23c546', emailArray: [ 'abc@amazon.com', 'zxc@amazon.com', 'pqr@amazon.com', 'lol@amazon.com' ] }, { userId: '56bd6bf220591a124001d178', emailArray:[ 'mno@gmail.com', 'uvw@gmail.com' 'second@gmail.com' ] } ] 并为每个userId我想创build像下面的MongoDb查询对象 var q1 = { $and: [ {userId:userId1}, {"interactions.emailId": {$in:emailArray1} var q2 = { $and: [ {userId:userId2}, {"interactions.emailId": {$in:emailArray2} var q3 = { $and: [ {userId:userId3}, {"interactions.emailId": {$in:emailArray3} ….. var qn = […]

用下划线地图做一些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 }