2015-07-12 29 views
0

我有幾個對象的列表。全部使用相同的密鑰。我試圖找到一種有效的方法將值減少爲單個對象。使用ImmutableJS合併對象的值

var list = Immutable.fromJS([{ 
    first: 3, 
    second: 4, 
    third: 2 
}, { 
    first: 7, 
    second, 6, 
    third: 8 
}]); 

婉婷返回:

{first: 10, 
second: 10, 
third: 10} 

我真的只是想找到一種方法來合併對象,但增加的,而不是取代它們的值。希望這是有道理的。

+0

做兩個對象具有相同的屬性或者一個可以不上其他存在屬性? –

+0

他們都有相同的屬性...謝謝。 – Adam

回答

1

採取外陣列List和運行的同時減少,合併內地圖

list.reduce(function(a, b){ 
    return a. 
    mergeWith(function(x, y){ 
     return x + y; 
    }, b) 
}).toJS() 
+0

感謝@webserver,這看起來比我想出的解決方案好很多。今晚會試試它... – Adam