标签: lodash

如何使用 lodash 检查所有属性是否为 null 或空字符串?

我有一个对象:

const obj = {
    name: "",
    age: null
}
Run Code Online (Sandbox Code Playgroud)

如何使用 lodash 检查所有属性是否为 null 或“”?是这样,返回true,如果某些属性不为null或“”则返回false。

javascript lodash

0
推荐指数
1
解决办法
6854
查看次数

取消lodash的debounce,不调用该函数

我的问题是,是否有办法取消lodash的去抖,而不调用去抖函数。from .cancel()lodash 仍然调用该函数。

也许我正在寻找错误的方法。如果是这样,对于类似的事情还有其他解决方案吗?

先感谢您。

javascript lodash

0
推荐指数
1
解决办法
3057
查看次数

使用另一个对象数组按 id 过滤 JavaScript 中的对象数组

我有 2 个带有 id 的对象数组:

    const oldOffers = [
  {
    _id: "1"
  },
  {
    _id: "2"
  },
  {
    _id: "3"
  }
];

const activeOffers = [
  {
    _id: "1"
  },
  {
    _id: "5"
  }
];
Run Code Online (Sandbox Code Playgroud)

我需要一个新数组,其中包含 oldOffers 中存在但 activeOffers 中不存在的对象;所以输出将是:

filteredOffers = [{
        _id: "2"
      },
      {
        _id: "3"
      }
    ];
Run Code Online (Sandbox Code Playgroud)

我使用 2 个循环解决了这个问题,但方式很糟糕,有人有任何优雅的解决方案,也使用 lodash 吗?

javascript lodash

0
推荐指数
1
解决办法
3105
查看次数

如何使用 Lodash 计算嵌套数组中的值?

users.hobbies我正在尝试计算使用的唯一计数Lodash。数据如下:

var users = [
  { 'user': 'barney', 'age': 36, 'hobbies': ['soccer','basketball']  },
  { 'user': 'fred',   'age': 40, 'hobbies': ['soccer', 'golf'] },
  { 'user': 'tom',   'age': 25,  'hobbies': ['golf'] }
];
Run Code Online (Sandbox Code Playgroud)

我努力了:

_.countBy(users, 'hobbies');
// { 'soccer,basketball': 1, 'soccer,golf': 1, golf: 1 }
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

// { 'soccer':2, 'basketball':1, 'golf':2}
Run Code Online (Sandbox Code Playgroud)

我想我需要了解split它的价值users.hobbies,但我不太确定如何应用它。

javascript lodash

0
推荐指数
1
解决办法
1392
查看次数

找出嵌套 JS 对象中某个键出现的次数

我有一个嵌套对象,例如

{
name: "John",
parent:{
 parent:{
  parent:{
  }
 }
}
}
Run Code Online (Sandbox Code Playgroud)

现在我想获取主父对象的级别或基本上父对象已嵌套的次数。在这种情况下,我应该得到 的输出3

javascript node.js underscore.js lodash

0
推荐指数
1
解决办法
128
查看次数

在ES5 Javascript中,如何在不使用concat的情况下将项添加到数组并立即返回新数组?

我经常发现自己处于我想要的情况,在单个(原子)操作中,将一个项添加到数组并返回该新数组.

['a', 'b'].push('c');
Run Code Online (Sandbox Code Playgroud)

将无法正常工作,因为它返回新的长度.

我知道以下代码有效

['a', 'b'].concat(['c']);
Run Code Online (Sandbox Code Playgroud)

但我发现它是丑陋的代码(组合两个数组只是为了在第一个数组的末尾添加一个项目).

我无法使用Array.splice()它,因为它修改原始数组(并返回已删除的项目).Array.slice()确实返回浅拷贝,但您无法添加新项目.

ES6

我知道es6你可以使用

[...['a', 'b'], 'c']
Run Code Online (Sandbox Code Playgroud)

但我正在寻找es5解决方案

Lodash

我没关系 lodash

只是为了清楚

我知道这可以通过几种不同的方式实现(比如Array.concat()上面的方法),但我正在寻找一个直观的简单代码,它不会"误用"其他运算符

javascript arrays ecmascript-5 lodash

-1
推荐指数
1
解决办法
1337
查看次数

如何从属性等于空的数组中删除对象 - Lodash

我有一个像这样的对象数组:

var a = [

  {
    "ClientSideAction": 1,
    "CompletedDate": "not null",
    "ItemDescription": "Step 1"
  },
  {
    "ClientSideAction": 1,
    "CompletedDate": null,
    "ItemDescription": "step 2"
  },
  {
    "ClientSideAction": 1,
    "CompletedDate": "not null",
    "ItemDescription": "Step 3"
  },
  {
    "ClientSideAction": 1,
    "CompletedDate": null,
    "ItemDescription": "step 4"
  }

];
Run Code Online (Sandbox Code Playgroud)

我该如何删除元素CompletedDate == null

我试过了._dropWhile,但是一旦函数返回falsey就停止了,这不是我想要的.我想遍历所有对象并删除那些符合该条件的对象.现在,我知道我可以使用常规的js,但是如果可能的话我想使用lodash.我是Lodash的初学者,我正努力变得更好.

这是我用过的.dropWhile:

var a2 = _.dropWhile(a, function(o) { return o.CompletedDate == null; });
Run Code Online (Sandbox Code Playgroud)

javascript lodash

-1
推荐指数
1
解决办法
3170
查看次数

Javascript创建一个对象,由数组值键入

我有一个方法需要从提供的id参数返回用户对象.其他方法将使用此结构,因此不是使用现有结构的简单情况.

基本上我有一个包含type密钥的数据库,这是过滤的,所以我有一个集合users.我需要做的是创建一个由用户_id值键入的对象,并包含带有_idtype省略的用户对象.

使用lodash或一些ES6糖我想改变以下内容Array;

[
  {
    "_id": "0e12e661cb50068a135b36067f001d20",
    "name": "Joe Bloggs",
    "type": "user"
  },
  {
    "_id": "0e12e661cb50068a135b36067f00373f",
    "name": "Ben Bloggs",
    "type": "user"
  }
]
Run Code Online (Sandbox Code Playgroud)

进入下面Object,用_idtype省略;

{
  "0e12e661cb50068a135b36067f001d20": {
    "name": "Joe Bloggs"
  },
  "0e12e661cb50068a135b36067f00373f": {
    "name": "Ben Bloggs"
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑我需要返回对象而不是名称,因为可以将更多属性添加到这些对象中.

javascript arrays object lodash

-1
推荐指数
1
解决办法
81
查看次数

对矩阵中的列进行排序

我有一个非唯一值的矩阵(或多维数组),如下所示:

var matrix = [
                [1, 3, 2, 4, 1],
                [2, 4, 1, 3, 2],
                [4, 3, 2, 1, 4]
             ]
Run Code Online (Sandbox Code Playgroud)

我想对这个矩阵的一行进行排序,但是其他行应该重新排序,以保持列像组织一样.

//matrix sorted by the row 0
var sorted_matrix = [
                      [1, 1, 2, 3, 4],
                      [2, 2, 1, 4, 3],
                      [4, 4, 2, 3, 1]
                    ]
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我更喜欢lodash解决方案.

javascript sorting matrix lodash

-1
推荐指数
1
解决办法
107
查看次数

删除对象中具有顺序索引的属性

我有一个如下对象:

item = {
  0: 'A',
  1: 'B',
  2: 'C',
  3: 'D'
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我想从项目对象中删除“ 1”,并且在删除之后,“ 2”和“ 3”应自动减1并成为下面的对象:

item = {
  0: 'A',
  1: 'C',
  2: 'D'
}
Run Code Online (Sandbox Code Playgroud)

除了使用数组之外,还有可能用对象来实现这一点吗?

javascript lodash

-1
推荐指数
1
解决办法
57
查看次数