标签: lodash

如何使用JavaScript(lodash)深度映射对象键?

https://lodash.com/docs#mapKeys

是否可以使用Lodash深度映射对象的键?如果没有,是否有另一个库提供此功能(如果与其他深度迭代和操作功能组合,甚至更好!)?另外,如何实现这一目标呢?我看到的主要斗争是识别安全,深度可迭代的纯键/值对象.抛出数组很容易,但重要的是要注意函数不应该尝试深度迭代其他对象,例如正则表达式.

预期结果 -

var obj = { a: 2, b: { c: 2, d: { a: 3 } } };
_.deepMapKeys(obj, function (val, key) {
  return key + '_hi';
});
// => { a_hi: 2, b_hi: { c_hi: 2, d_hi: { a_hi: 3 } } }
Run Code Online (Sandbox Code Playgroud)

javascript key object underscore.js lodash

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

Lodash地图和返回唯一

我有一个lodash变量;

var usernames = _.map(data, 'usernames');
Run Code Online (Sandbox Code Playgroud)

产生以下内容;

[
    "joebloggs",
    "joebloggs",
    "simongarfunkel",
    "chrispine",
    "billgates",
    "billgates"
]
Run Code Online (Sandbox Code Playgroud)

我怎么能调整lodash语句,以便它只返回一个唯一值数组?例如

var username = _.map(data, 'usernames').uniq();
Run Code Online (Sandbox Code Playgroud)

javascript node.js lodash

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

lodash从数组中选择对象字段

我有一些对象:

var results= [
    {         
      "_type": "MyType",
      "_id": "57623535a44b8f1417740a13",         
      "_source": {
        "info": {
          "year": 2010,
          "number": "string",             
        },
        "type": "stolen",           
        "date": "2016-06-16T00:00:00",
        "createdBy": "57469f3c71c8bf2479d225a6"            
      }
    }
  ];
Run Code Online (Sandbox Code Playgroud)

我需要从数组中选择特定字段.结果,我想得到以下内容:

[
    {
        "_id": "57623535a44b8f1417740a13",
        "info": {
            "year": 2010,
            "number": "string"
        },
        "type": "stolen",            
        "date": "2016-06-16T00:00:00",
        "createdBy": "57469f3c71c8bf2479d225a6"
    }
]
Run Code Online (Sandbox Code Playgroud)

如您所见,我想选择对象的_id字段和内容_source.我怎么能用lodash做到这一点?

我找到了.map函数,但它不需要一组键: var res = _.map(results, "_source");

javascript lodash

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

使用Lodash按键求值

如何对共享公共密钥的对象中的值求和?我需要使用Lodash,因为如果这些数组变得庞大,我需要良好的性能.

var prjMgrValues = [
   {"proj_mgr":"Jack ProjManager","submitted_dollars":12000},
   {"proj_mgr":"Jack ProjManager","submitted_dollars":750000},
   {"proj_mgr":"Joe ProjManager","submitted_dollars":45000}
]
Run Code Online (Sandbox Code Playgroud)

我正在寻找输出

[
  {"proj_mgr":"Jack ProjManager","submitted_dollars":762000},
  {"proj_mgr":"Joe ProjManager","submitted_dollars":45000}
]
Run Code Online (Sandbox Code Playgroud)

javascript lodash

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

将所有Object键设置为false

让我们说我有一个对象

  filter: {
    "ID": false,
    "Name": true,
    "Role": false,
    "Sector": true,
    "Code": false
  }
Run Code Online (Sandbox Code Playgroud)

我想将所有键设置为false(重置它们).什么是最好的方法,我想避免循环foreach和东西.任何整洁的衬垫?

javascript lodash

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

Lodash for Python?

对于Python来说,是否有一个库或类似于lodash的东西?我们在API上广泛使用该库,在我们继续创建一系列Python工作器时,为API语法创建类似的结构是有意义的.

python lodash

15
推荐指数
2
解决办法
7187
查看次数

使用Lodash深度合并

我有两个对象数组,其中包含具有标签和实际地址对象的地址:

var originalAddresses = [
  {
    label: 'home',
    address: { city: 'London', zipCode: '12345' }
  },
  {
    label: 'work',
    address: { city: 'New York', zipCode: '54321' }
  }
];

var updatedAddresses = [
  {
    label: 'home',
    address: { city: 'London (Central)', country: 'UK' }
  },
  {
    label: 'spain',
    address: { city: 'Madrid', zipCode: '55555' }
  }
];
Run Code Online (Sandbox Code Playgroud)

现在我想合并这些数组label并比较地址的各个属性,并仅合并实际存在的新地址的属性.所以结果应该是这样的:

var result = [
  {
    label: 'home',
    address: { city: 'London (Central)', zipCode: '12345', country: 'UK' }
  },
  {
    label: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays merge lodash

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

(_.merge in ES6/ES7)Object.assign不覆盖未定义的值

lodash中有_.merge功能.我想在ES6或ES7中实现同样的功能.

有这个片段:

Object.assign({}, {key: 2}, {key: undefined})
Run Code Online (Sandbox Code Playgroud)

我想收到{key: 2}.目前我收到了{key: undefined}

不是深度合并.

可能吗?如果是,那么如何实现呢?

javascript babel ecmascript-6 lodash ecmascript-7

15
推荐指数
3
解决办法
4100
查看次数

过滤任何属性包含值的对象数组

我想知道什么是最干净的方法,根据a过滤对象数组的更好方法string keyword.必须在对象的任何属性中进行搜索.

当我输入时,lea我想通过所有对象及其所有属性来返回包含的对象lea

当我输入时,italy我想通过所有对象及其所有属性来返回包含的对象italy.

我知道tere有很多解决方案,但到目前为止我只看到了一些你需要指定你想要匹配的属性.

ES6lodash欢迎!

  const arrayOfObject = [{
      name: 'Paul',
      country: 'Canada',
    }, {
      name: 'Lea',
      country: 'Italy',
    }, {
      name: 'John',
      country: 'Italy',
    }, ];

    filterByValue(arrayOfObject, 'lea')   // => [{name: 'Lea',country: 'Italy'}]
    filterByValue(arrayOfObject, 'ita')   // => [{name: 'Lea',country: 'Italy'}, {name: 'John',country: 'Italy'}]
Run Code Online (Sandbox Code Playgroud)

javascript arrays lodash

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

如何解决npm审核修复问题?

????????????????????????????????????????????????????????????????????????????????
? Low           ? Prototype Pollution                                          ?
????????????????????????????????????????????????????????????????????????????????
? Package       ? lodash                                                       ?
????????????????????????????????????????????????????????????????????????????????
? Patched in    ? >=4.17.5                                                     ?
????????????????????????????????????????????????????????????????????????????????
? Dependency of ? react-native-cached-image                                    ?
????????????????????????????????????????????????????????????????????????????????
? Path          ? react-native-cached-image > lodash                           ?
????????????????????????????????????????????????????????????????????????????????
? More info     ? https://npmjs.com/advisories/577                             ?
????????????????????????????????????????????????????????????????????????????????
found 11 vulnerabilities (2 low, 8 moderate, 1 high) in 26316 scanned packages
  11 vulnerabilities require manual review. See the full report for details.
Run Code Online (Sandbox Code Playgroud)

当我尝试时npm install,会显示,并且所有这些都需要手动检查。我尝试访问此网站以查看更多信息,这显然是因为我lodash的版本是4.17.4。因此,我随后运行npm install --save …

npm lodash reactjs react-native

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