标签: lodash

使用lodash按多个字段对数组中的项进行排序

如何使用lodash通过多个字段对对象数组进行排序.所以对于这样的数组:

[
  {a: 'a', b: 2},
  {a: 'a', b: 1},
  {a: 'b', b: 5},
  {a: 'a', b: 3},
]
Run Code Online (Sandbox Code Playgroud)

我期待这个结果

[
  {a: 'a', b: 1},
  {a: 'a', b: 2},
  {a: 'a', b: 3},
  {a: 'b', b: 5},
]
Run Code Online (Sandbox Code Playgroud)

javascript underscore.js lodash

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

lodash - 将项目/变换对象转换为键值数组

我将使用forOwn迭代对象的属性并手动创建一个数组,并且无法帮助认为已经有一个oneliner已经可用.

{ 
  prop1 : "value",
  prop2: { sub:1}
}
Run Code Online (Sandbox Code Playgroud)

至:

[ 
   {key: "prop1", value: "value"},
   {key: "prop2", value: {sub:1}}
]
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript lodash

24
推荐指数
3
解决办法
4万
查看次数

使用Lodash删除数组中的元素

我有这个数组:

var fruits = ['Apple', 'Banana', 'Orange', 'Celery'];
Run Code Online (Sandbox Code Playgroud)

我使用Lodash是remove这样的:

_.remove(fruits, function (fruit) {
  return fruit === 'Apple' || 'Banana' || 'Orange';
})
Run Code Online (Sandbox Code Playgroud)

结果是['Apple', 'Banana', 'Orange', 'Celery'],虽然我期待它['Apple', 'Banana', 'Orange'].为什么会这样?

javascript lodash

23
推荐指数
4
解决办法
7万
查看次数

通过嵌套数组中的match属性查找对象

find当我的条件涉及嵌套数组时,我没有看到对象的方法.

var modules = [{
    name: 'Module1',
    submodules: [{
        name: 'Submodule1',
        id: 1
      }, {
        name: 'Submodule2',
        id: 2
      }
    ]
  }, {
    name: 'Module2',
    submodules: [{
        name: 'Submodule1',
        id: 3
      }, {
        name: 'Submodule2',
        id: 4
      }
    ]
  }
];
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它submodules是一个数组,而不是一个对象.是否有任何速记可以使这项工作?我试图避免手动迭代数组.

_.where(modules, {submodules:{id:3}});
Run Code Online (Sandbox Code Playgroud)

lodash

23
推荐指数
2
解决办法
4万
查看次数

如何使用Lodash基于密钥合并两个集合?

我有两个集合,对象有一个公共密钥"userId".如下:

var _= require('lodash');

var a = [
  { userId:"p1", item:1},
  { userId:"p2", item:2},
  { userId:"p3", item:4}
];

var b = [
  { userId:"p1", profile:1},
  { userId:"p2", profile:2}
];
Run Code Online (Sandbox Code Playgroud)

我想基于"userId"合并它们以产生:

[ { userId: 'p1', item: 1, profile: 1 },
  { userId: 'p2', item: 2, profile:2 },
  { userId: 'p3', item: 4 } ]
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这些:

var u = _.uniq(_.union(a, b), false, _.property('userId'));
Run Code Online (Sandbox Code Playgroud)

结果如下:

[ { userId: 'p1', item: 1 },
  { userId: 'p2', item: 2 },
  { userId: 'p3', item: 4 …
Run Code Online (Sandbox Code Playgroud)

javascript collections merge lodash

23
推荐指数
4
解决办法
3万
查看次数

lodash orderBy在嵌套属性上

我正在使用v4.11.0.我想根据milliseconds属性对对象进行排序.这是阵列:

[
    {
        "name": "bug12755.xml",
        "list": "bugs42",
        "start-date": "2015-09-14",
        "age": {
            "text": "7 months",
            "milliseconds": 18381227304
        }
    },
    {
        "name": "bug12922.xml",
        "list": "bugs42",
        "start-date": "2015-08-27",
        "age": {
            "text": "8 months",
            "milliseconds": 19936427304
        }
    },
    {
        "name": "bug13183.xml",
        "list": "bugs50",
        "start-date": "2015-08-27",
        "age": {
            "text": "8 months",
            "milliseconds": 19936427305
        }
    }
]
Run Code Online (Sandbox Code Playgroud)

我遗漏了一些关于这个iteratee功能的基本知识.我有这个,但似乎没有排序数组.提前致谢!

 _.orderBy(list, function(item) {
            return item.age.value;
        }, ['desc']);
Run Code Online (Sandbox Code Playgroud)

lodash

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

在lodash中,`pair()`的反义词是什么?

我在文档中看不到它 - http://lodash.com/docs-请帮助我:

有什么相反的_.pairs()?必须有一个 - 我只是不能'看到哪里!

目标是从表单数组中生成键/值对 [['key1':'value1'], ['key2':'value2'], ...]

并不是说我真的需要一个lib:我只想重新使用它们..

javascript lodash

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

使用lodash找到平均值的最有效方法

我有一个对象数组,对象的数量是可变的 -

var people = [{
  name: john,
  job: manager,
  salary: 2000
},
  {
  name: sam,
  job: manager,
  salary: 6000
},
  {
  name: frodo,
  job: janitor
}];
Run Code Online (Sandbox Code Playgroud)

什么是最优雅的方式来找到使用lodash的所有经理的平均薪水?(我假设我们必须检查对象是否是管理器,以及对象是否具有工资属性)

我正在考虑以下几行 -

_(people).filter(function(name) {
    return name.occupation === "manager" && _(name).has("salary");}).pluck("salary").reduce(function(sum,num) { return sum+num });
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是正确的方法.

javascript underscore.js lodash

22
推荐指数
3
解决办法
2万
查看次数

Lodash按值排序对象,而不会丢失密钥

假设我有一个对象:

{Derp: 17, Herp: 2, Asd: 5, Foo: 8, Qwe: 12}
Run Code Online (Sandbox Code Playgroud)

我需要按价值对其进行排序.我想要得到的是:

{Derp: 17, Qwe: 12, Foo: 8, Asd: 5, Herp: 2}
Run Code Online (Sandbox Code Playgroud)

我想用它来做lodash.当我使用_.sortBy它时,不会保留密钥:

_.sortBy({Derp: 17, Herp: 2, Asd: 5, Foo: 8, Qwe: 12}).reverse();
// [17, 12, 8, 5, 2]
Run Code Online (Sandbox Code Playgroud)

地狱,我甚至只满足于键数组,但仍然按输入中的值排序:

['Derp', 'Herp', 'Foo', 'Asd', 'Qwe']
Run Code Online (Sandbox Code Playgroud)

sorting key lodash

22
推荐指数
3
解决办法
2万
查看次数

lodash:检查对象是空的

我有这个对象: {"": undefined}

当我以这种方式检查此对象为空时: _.isEmpty({"": undefined})

我得到false结果,也许在lodash我们有另一种方法?

javascript lodash

22
推荐指数
4
解决办法
6万
查看次数

标签 统计

lodash ×10

javascript ×7

underscore.js ×2

collections ×1

key ×1

merge ×1

sorting ×1