Tag: lodash

使用lodash ._模板进行电子邮件

我正在尝试使用lodash _.template创build一个带有Node.js的HTML电子邮件模板。 当我使用下面的代码,我得到这个错误: ((__t = ( firstName )) == null ? '' : __t) + 。 任何想法,我在做什么错了? 另外,应该只有一个为所有dynamic字段编译的模板? var firstName = _(contactinfo).pluck('firstName'); var compiledFirst = _.template('template with <%= firstName %>!'); var htmlFirst = compiledFirst(firstName); var lastName = _(contactinfo).pluck('lastName'); var compiledLast = _.template('template with <%= lastName %>!'); var htmlLast = compiledLast(lastName); var data = { from: […]

lodash将数组分割成nodejs中的块

我有下面的联系人组 var groups = {"GROUP":[{'G1: [C1,C2,C3……..C500000]}, {'G2': [C1,C2,C3……..C500000,D1,D2,D3……..D500000]} …..] } 现在我使用lodash将一个javascript数组分割成n个大块,如下所示 _.each(groups,function(group){ var n = 50; var lists = _.groupBy(group, function(element, index){ return Math.floor(index/n); }); lists = _.toArray(lists ); console.log(lists ) }) 这在客户端工作正常,但不是在nodejs中。 从节点js输出如下 [["C1","C1….]] 数组不是分成块,而是单个数组。 预期的数组应该是 [["C1","C1"….,"c50"],["C51","C1"….,"c100"]…] 我在nodej中使用lodash 4.17.4,请指教

Grunt:recursion模板如何工作?

我是Grunt的新手,并且在recursion模板方面遇到了一些问题。 下面是一个具体的例子: var path = require('path'); module.exports = function(grunt) { grunt.initConfig({ // Stash path here so we can reference it from templates. path: path, argPrint: function(arg1, arg2) { return "arg1: " + arg1 + " arg2: " + arg2; }, build: { root_dir: __dirname, build_dir: '<%= path.resolve(build.root_dir, "dev") %>', vendor_dir: '<%= path.resolve(build.build_dir, "vendor") %>', classes_dir: […]

如何findJavaScript对象之间的共同属性

什么是find对象数组的通用/不同属性的最好/最有效的方法。 我需要确定所有对象中存在的属性集合,并且都具有相同的值(常见)。 最好我也想获得一个具有所有其他属性(差异)的数组。 我已经寻找一个有效的库/function,可以做到这一点。 但没有find任何东西。 所以我尝试了我自己。 考虑这个JS对象的数组: var objects = [{ id: '2j2w4f', color: 'red', height: 20, width: 40, owner: 'bob' }, { id: '2j2w3f', color: 'red', height: 20, width: 41, owner: 'bob' }, { id: '2j2w2f', color: 'red', height: 21, }, { id: '2j2w1f', color: 'red', height: 21, width: 44 }]; 我想确定color (价值red )作为唯一的共同财产。 […]

将一个对象的值和属性合并到另一个对象中

我有两个单独的对象: 对象1 var obj1 = { features: { "1234": { "price": 0 }, "1235": { "price": 0 } } }; 对象2 var obj2 = { features: { "1234": { "price": 1000, "property": "val" }, "1235": { "price": 500, "property": "val" } } }; 我想将Object 1的price属性设置为两个对象中键(1234,1235等)匹配的Object 2的price属性的值。 此外,我想知道如何添加一个新的属性从对象2 对象1 。 最后我想让对象3看起来像: var obj3 = { features: […]

lodash mapValues async

里面_.mapValues我想获得一些修改的值与一些延迟(例如从数据库),但我面临的问题:当我修改值在同步模式一切都很好,当我尝试使用承诺或callback其工作不正确(在第一种情况我得到Promise对象,第二种:未定义的值)。 这里有一些简化的例子,我如何重写mapValues中的代码来解决这个问题? 'use strict'; const _ = require('lodash'); const Promise = require('bluebird'); let obj = { one: 1, two: 2, }; let increment = (value) => { return value + 1; }; let incrementProm = (value) => { return Promise.resolve(value + 1); }; let incrementCb = (value, cb) => { let res = value + […]

如何使用lodash重新排列数据格式

我有一些格式的数据: { regionalGames1: [ 1, 2, 3, 4, 5 ], regionalGames2: [ 2, 3, 4, 5, 6 ], regionalGames3: [ 3, 5, 5, 6, 7 ] } 我怎么能使用lodash重新排列这些数据: { 1: [regionalGames1], 2: [regionalGames1, regionalGames2], 3: [regionalGames1, regionalGames2, regionalGames3], 4: [regionalGames1, regionalGames2, regionalGames3], … } 等等? 我看着_.groupBy和_.keyBy但似乎无法弄清楚。

如何读取基于单词作为键分隔符的文本文件块?

我有这种格式的.txt文件: Part #368 – XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Part #369 – XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Part #370 – XXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 我读这样的文件: var lines = fs.readFileSync('file.txt', 'utf-8') .split('\n') .filter(Boolean); 所以它返回一个文件行的数组。 如何获得以“Part”string开头的文件块? var parts = _.filter(lines,function( s ) { return s.indexOf( 'Part' ) […]

相当于JSON.parse的Lodash(JSON.stringify())

我目前正在克隆一个对象: var copy = JSON.parse(JSON.stringify(original)); 当我尝试lodash – 似乎推荐的方式是cloneDeep(),但是这使我一塌糊涂。 我的对象部分由Mongoose查询的结果组成,这可能是导致此问题的原因。 原版的: template: 'email/receipt.swig', templateVars: { code: '299137819', 用lodash克隆: template: 'email/receipt.swig', templateVars: { '$__': { strictMode: true, selected: undefined, shardval: undefined, saveError: undefined, validationError: undefined, adhocPaths: undefined, removing: undefined, inserting: true, version: undefined, getters: [Object], _id: undefined, populate: undefined, populated: [Object], wasPopulated: false, scope: [Circular], activePaths: [Object], […]

如何将gulp frontmatters输出传递给Gulp中的另一个插件?

我想通过gulp frontmatters输出到另一个我在gulp(gulp模板)中使用的函数。 我认为我的语法是正确的,但一定是做错了,因为它不工作。 我正在使用的Gulp插件是: Gulp frontmatter和Gulp模板 。 我试图从frontmatter()传递一个名为page的对象到template()如下所示: .pipe(frontMatter({ property: 'page' // the name of the property added to the file object })) .pipe(template(page)) // passing the page object to the template plugin here 这不起作用。 我究竟做错了什么? 作为参考:这是从我的gulpfile.js的整个代码 // Gulp modules var gulp = require( 'gulp' ); var markdown = require( 'gulp-markdown' ); var frontMatter = […]