2017-02-03 14 views
1

私はJavaScriptでのオブジェクトの下にいる:lodashで配列から複数のキー値を取得する方法は?

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-loopを使用していますが、私はこれを行うためのより良い方法を探しています。それはlodashコードの1行で行うことができるかどうか?

+0

なぜループを介してライブラリソリューションを好んでいますか? – 1252748

+1

['_.map(users、user => _.omit(user、 'active'))'](https://jsfiddle.net/tusharj/bduh1b50/) – Tushar

答えて

0

ライブラリは必要ありません。

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

あなたはactiveプロパティを省略するために_.omitと組み合わせて_.mapを使用することができます。あなたは、最新のJavaScript機能を使用することができたら...

Example Here

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

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

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

+1

1+ - ニース!それは普及したオペレータの本当に賢い使い方です。 –

関連する問題