2017-08-01 40 views
0

我有兩個數組,oldBalances和newBalancesunderscorejs如何組合兩個對象數組?

var oldBalances = [ 
    {name: 'vacation', value: '21'}, 
    {name: 'account', value: '200'}, 
] 

var newBalances = [ 
    {name: 'vacation', value: '25'}, 
    {name: 'order', value: '15'} 
] 

var allBalances = [] 

我想allBalances陣列都結合平衡,但如果在舊的平衡名字是一樣的新一個我想借此新

var allBalances = [ 
    {name: 'account', value: '200'}, 
    {name: 'vacation', value: '25'}, 
    {name: 'order', value: '15'} 
] 

回答

0

我會以這種方式解決這個問題:

let allBalances = []; 

_([...newBalances, ...oldBalances]).each(balanceItem => { 
    if (_(allBalances).where({name: balanceItem.name).length) { 
     // skip adding key that is added already 
     continue; 
    } 
    allBalances.push(balanceItem); 
}); 
相關問題