繁体   English   中英

如何使用lodash从数组中获取多个键值?

[英]How to get multiple key values from array with lodash?

我在javascript中有以下对象:

var users = [{
    'user': 'barney',
    'age': 36,
    'active': true
}, {
    'user': 'fred',
    'age': 40,
    'active': false
}, {
    'user': 'pebbles',
    'age': 1,
    'active': true
}];

我想从上面的对象中获取一个新对象,但删除active键,如下所示:

var users = [{
        'user': 'barney',
        'age': 36,
    }, {
        'user': 'fred',
        'age': 40,
    }, {
        'user': 'pebbles',
        'age': 1,
    }];

我知道我可以通过 for 循环创建对象,但我正在寻找更好的方法来做到这一点。 一行lodash代码能不能搞定?

您可以结合使用_.map_.omit来省略active属性:

这里的例子

_.map(users, user => _.omit(user, 'active'))

如果您可以使用最新的JavaScript功能...

users = users.map(({ active, ...rest }) => rest);

https://jsfiddle.net/22kqjvc5/1/

您不需要图书馆。

var result = users.map(el => {
   delete el.active;
   return el;
});

一种 ES6 方式来做到这一点

 var users = [{ 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'pebbles', 'age': 1, 'active': true }]; console.log ( _.map(users, i => _.pick(i, 'user', 'active')) )
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.core.js"></script>

受此启发

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM