Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
const combine = (...args) =>
[].slice.call(args).reduce((next, value) => {
// Create an object with duplicates combined
const duplicates = Object.keys(value)
.filter(key => next.hasOwnProperty(key))
.map(key => {
return {
[key]: Object.assign(value[key], next[key])
};
})
.reduce(
(accumulator, current) => Object.assign(accumulator, current),
{}
);
// Create a new object with everything combined together
return Object.assign(next, value, duplicates);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.