initial = [{ code: "1", size: 0 }, { code: "2", size: 0 }, { code: "3", size: 0 }, { code: "4", size: 0 }]
update = [{ code: "1", size: 100 }, { code: "2", size: 100 }, { code: "2", size: 120 }]
hash = {}
for (let i = 0; i < initial.length; i++) {
hash[initial[i].code] = initial[i];
}
for (let i = 0; i < update.length; i++) {
let o = update[i];
hash[o.code].size += o.size;
}
initial = result
initial = [{ code: "1", size: 0 }, { code: "2", size: 0 }, { code: "3", size: 0 }, { code: "4", size: 0 }]
update = [{ code: "1", size: 100 }, { code: "2", size: 100 }, { code: "2", size: 120 }]
hash = {}
for (let i = 0; i < initial.length; i++) {
let o = initial[i];
hash[o.code] = { code: o.code, size: 0 };
}
for (let i = 0; i < update.length; i++) {
let o = update[i];
hash[o.code].size += o.size;
}
result = []
for (var key in hash) {
result.push(hash[key])
}
initial = result