我有兩個對象weather
和power
我想合併在共享屬性date
上的數組。有沒有辦法用lodash做到這一點?合併共享鍵值對上的對象與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
字段(因此從weather
陣列date: 3
對象被丟棄)的對象。
const expected = [{
date: 1,
weather: 1,
power: 10
},
{
date: 2,
weather: 2,
power: 20
}];
我覺得這應該是可能的union
,unionBy
,merge
或類似的,但我無法找到文檔中匹配的例子。
差不多,但是它仍然包括與'日期= 3'從'weather'對象不具有在'power'一場比賽,這應該被丟棄。我想可以迭代'result'again並檢查值是否在那裏。我主要是要求看看是否有一個漂亮的版本可以做到這一點,所以這樣做也很好。 –
添加一個'.filter(function(a){return a.hasOwnProperty('weather')&& a.hasOwnProperty('power')})'確保這些屬性存在。我想知道是否有更好的解決方案?! –
我用pick只合並了兩個索引中出現的屬性。 –