共有プロパティdate
にマージしたいオブジェクトweather
とpower
の2つの配列があります。ロダッシュでこれを行う方法はありますか?共有キー値ペアのオブジェクトをLodashとマージ
const weather = [
{
date: 2,
weather: 2
},
{
date: 1,
weather: 1
},
{
date: 3,
weather: 3
}
];
const power = [
{
date: 1,
power: 10
},
{
date: 2,
power: 20
}];
const merged = _.merge(weather, power); // <- This does not work as hoped for
期待される出力が一致date
フィールド(SO weather
配列からdate: 3
オブジェクトがドロップされる)を有するオブジェクトのみを含んでいます。
const expected = [{
date: 1,
weather: 1,
power: 10
},
{
date: 2,
weather: 2,
power: 20
}];
私はこのように感じるがunion
、unionBy
、merge
または同様に可能でなければなりませんが、私は、マニュアルでマッチングの例を見つけることができませんでした。
ほとんど、それはまだ 'power'、それは落とされるべきで試合を持っていませんweather''から= 3' '日付を持つオブジェクトが含まれません。私はちょうど 'result'の上を反復し、値がそこにあるかどうか確認することができると思います。私は主にこれを行うためのかなりのバージョンがあるかどうかを尋ねてきました。だから、これを統合するのもいいでしょう。 –
'.filter(function(a){return a.hasOwnProperty( 'weather')&& a.hasOwnProperty( 'power')})を追加すると、これらのプロパティが存在することが確認されます。しかし、より良い解決策があるのだろうか? –
私は両方のインデックスに表示されるプロパティのみをマージするためにpickを使用しました。 –