Skip to content

Instantly share code, notes, and snippets.

@allomov
Last active October 17, 2017 19:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save allomov/25bdca726ea2d7175cd8050d450e895d to your computer and use it in GitHub Desktop.
Save allomov/25bdca726ea2d7175cd8050d450e895d to your computer and use it in GitHub Desktop.
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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment