Mam tablicę z szeregu obiektów z pasującymi kluczami:Dodaj wartości dopasowanych kluczy w tablicy obiektów
[{a: 2, b: 5, c: 6}, {a:3, b: 4, d:1},{a: 1, d: 2}]
Chcę pętli tablicy i jeśli klucze pasujące chcę dodać wyniki każdego z nich i zwróć jeden obiekt sumą każdego klucza.
tj
{a: 6, b: 9, c: 6, d: 3}
Kod Obecnie mam to
function combine() {
var answer = [];
for(var i in arguments){
answer.push(arguments[i])
}
answer.reduce(function(o) {
for (var p in o)
answer[p] = (p in answer ? answer[p] : 0) + o[p];
return answer;
}, {});
}
mogę znaleźć odpowiedź here gdybym był do korzystania z biblioteki podkreślenia, jednak chciałbym to zrobić bez korzystania z biblioteki . Myślę, że mam trudności ze zrozumieniem, w jaki sposób działa metoda reduce
- Każda pomoc, jak rozwiązać ten problem, byłaby bardzo doceniana. Ponadto uważam, że jest to odpowiedź, która powinna być gdzieś na SO bez konieczności korzystania z biblioteki.
Z góry dziękuję.
wspomnieć także wyjście otrzymujesz rn. –