2017-08-01 55 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); 
}); 
相关问题