function merge(...objects) {
let masterObj = {}
// iterate over `objects` merging each
// into `masterObj` to generate flattened
// object
for (let i = 0; i < objects.length; i++) {
let obj = objects[i]
for (let key in obj) masterObj[key] = obj[key]
}
return masterObj
}
let merged = merge(...objectsList)
// output:
// {count:5, delay:2000, early:false, message:'Hello'}
console.log(merged)