簡體   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