标签: lodash

加入Javascript

我有2个对象列表:

people = 
[{id: 1, name: "Tom", carid: 1},
 {id: 2, name: "Bob", carid: 1},
 {id: 3, name: "Sir Benjamin Rogan-Josh IV", carid: 2}];

cars=
[{id: 1, name: "Ford Fiesta", color: "blue"},
 {id: 2, name: "Ferrari", color: "red"},
 {id: 3, name: "Rover 25", color: "Sunset Melting Yellow with hints of yellow"}];
Run Code Online (Sandbox Code Playgroud)

是否有一个函数(可能在Angular,JQuery,Underscore,LoDash或其他外部库中)在这些函数的一行中进行左连接?就像是:

peoplewithcars = leftjoin( people, cars, "carid", "id");
Run Code Online (Sandbox Code Playgroud)

我可以编写自己的,但如果LoDash有一个优化版本,我想使用它.

javascript join underscore.js lodash

12
推荐指数
3
解决办法
1万
查看次数

lodash为"按对象路径选择"?

假设我有这个对象(或这些对象的数组):

var person = {
    birth: {
        place: {
            country: 'USA'
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

我以为有一个lodash函数,我可以传入'birth.place.country'并获取值USA.

在lodasdh 3.x中有这样的功能,还是我想象这个?

javascript lodash

12
推荐指数
2
解决办法
7959
查看次数

Lodash:过滤对象数组并检查是否为空

我刚开始使用lodash并拥有这个对象数组,其中一个属性有一个整数或为null.我知道如何过滤数组中的null项,但我如何检查它是否为空?

假设我有这样的事情:

var users = [
    { 'user': 'barney', 'default': 1 },
    { 'user': 'dino', 'default': 0 },
    { 'user': 'wilma', 'default': 1 },
    { 'user': 'fred',   'default': null }
];
Run Code Online (Sandbox Code Playgroud)

然后我想要这样的东西:

var notNullDefault = _.filter(sourceData, ['is_default', ! null ]); // objects with names barney, dino, wilma
var nullDefault = _.filter(sourceData, ['is_default', null ]); // object with name fred
Run Code Online (Sandbox Code Playgroud)

再一次,我是lodash的新手,所以也许有更好的方法来实现这一点.

提前致谢.

javascript arrays underscore.js lodash

12
推荐指数
1
解决办法
3万
查看次数

减少不给予正确的金额

我的对象groupBy.Food看起来像

[
Object
amount: "15.0"
category: Object
debit: true
__proto__: Object
, 
Object
amount: "10.0"
category: Object
debit: true
__proto__: Object
, 
Object
amount: "11.1"
category: Object
debit: true
__proto__: Object
]
Run Code Online (Sandbox Code Playgroud)

我想要的只是sum每个物体的数量.我正在使用Lodash reduce as

var s = _.reduce(groupBy.Food, function(s, entry){
   return s + parseFloat(entry.amount);
});
Run Code Online (Sandbox Code Playgroud)

当我看到s我得到的价值

s
"[object Object]1011.1"
Run Code Online (Sandbox Code Playgroud)

我在这里做的不是什么?

javascript lodash

11
推荐指数
2
解决办法
9705
查看次数

使用Underscore/Lodash分组By和Sum

我有这样的JSON:

[
  {
     platformId: 1,
     payout: 15,
     numOfPeople: 4
  },
  {
     platformId: 1,
     payout: 12,
     numOfPeople: 3

  },
  {
     platformId: 2,
     payout: 6,
     numOfPeople: 5

  },
  {
     platformId: 2,
     payout: 10,
     numOfPeople: 1
  },

]
Run Code Online (Sandbox Code Playgroud)

而且我希望platformId用和的payout和来对它进行分组numOfPeople.

即结果我想要这样的JSON:

[
  "1": {
     payout: 27,
     numOfPeople: 7
   },

  "2": {
     payout: 16,
     numOfPeople: 6
  }
] 
Run Code Online (Sandbox Code Playgroud)

我尝试使用underscore.js_.groupBy方法,它组合得很好,但我怎么能得到像上面演示的对象属性值的SUM?

javascript arrays object underscore.js lodash

11
推荐指数
5
解决办法
2万
查看次数

Lodash:_.forEach with function

我试图使用lodash forEach方法与嵌套函数调用mongo数据库.

var jobs = [];
_.forEach(ids, function(id) {
    JobRequest.findByJobId(id, function(err, result) {
        if(err) callback(err);
        jobs.push(result);
    });
});

callback(null, jobs);
Run Code Online (Sandbox Code Playgroud)

我遇到了问题,因为forEach和回调将在调用内部函数之前运行.我该如何解决这个问题?

我希望在每个和内部函数完成后调用回调.

javascript lodash

11
推荐指数
2
解决办法
8625
查看次数

lodash中的_.clone无法正常工作?

我有

config.default_req = { foo: 'foo' }
this.default_req = _.clone(config.default_req);
this.default_req.body.data = 'bar';
Run Code Online (Sandbox Code Playgroud)

现在config.default_req.data等于'bar',为什么?,我认为用lodash进行克隆应该只是复制对象,丢失任何与原始对象的链接!

有关如何在node.js中真正克隆/复制对象的任何想法?(v.0.10.40)

编辑:对于那些将要解决这个问题的人来说,一个简单的克隆/复制功能:

var clone = function(source){
    return JSON.parse(JSON.stringify(source));
};
Run Code Online (Sandbox Code Playgroud)

javascript clone copy node.js lodash

11
推荐指数
1
解决办法
1万
查看次数

如果lodash存在,它是否有一个单行方法来调用函数?

鉴于我有这个代码:

if (_.isFunction(this.doSomething)) {
    this.doSomething();
}
Run Code Online (Sandbox Code Playgroud)

因为loadingComplete是从父控制器传入的指令属性,可能并不总是提供,如果存在,是否有更简洁的单行方式来调用方法,而不重复方法名称?

就像是:

_.call(this, 'doSomething');
Run Code Online (Sandbox Code Playgroud)

javascript lodash

11
推荐指数
5
解决办法
8506
查看次数

Lodash /下划线函数初始化具有给定长度的默认空值的数组

在lodash中是否有一个函数来初始化一个给定长度的默认空值的数组?

当前使用的数组方法:

     var myArray = Array.apply(null, Array(myArrayLength)).map(function() { return null });
Run Code Online (Sandbox Code Playgroud)

Lodash功能尝试使用:

     var myArray = _.times(myArrayLength, null);
Run Code Online (Sandbox Code Playgroud)

必需的数组:

  var myArray = [null, null, .......];
Run Code Online (Sandbox Code Playgroud)

javascript arrays underscore.js lodash

11
推荐指数
2
解决办法
1万
查看次数

在Angular 4中使用lodash

我以前在我的Angular 4应用程序中使用了lodash,只需导入并使用它,如下所示:

import lodash from 'lodash';

public getSubtotal() : number {
  return lodash.sumBy(this.cartItems, function(item) {        
    return item.product.price * item.item.quantity;
  })
Run Code Online (Sandbox Code Playgroud)

}

我再一次尝试使用lodash,但是我得到的错误是lodash未定义.

import lodash from 'lodash';

lodash.indexOf([1, 2, 1, 2], 2);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR TypeError: Cannot read property 'indexOf' of undefined
at CustomizeComponent.showTopping (customize.component.ts:39)
at Object.eval [as updateDirectives] (CustomizeComponent.html:285)
at Object.debugUpdateDirectives [as updateDirectives] (core.js:14638)
at checkAndUpdateView (core.js:13785)
at callViewAction (core.js:14136)
at execComponentViewsAction (core.js:14068)
at checkAndUpdateView (core.js:13791)
at callViewAction (core.js:14136)
at execEmbeddedViewsAction (core.js:14094)
at checkAndUpdateView (core.js:13786)
Run Code Online (Sandbox Code Playgroud)

lodash angular

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

lodash ×10

javascript ×9

underscore.js ×4

arrays ×3

angular ×1

clone ×1

copy ×1

join ×1

node.js ×1

object ×1