Object.fromEntries(array.map) vs Array.reduce (reuse same object) vs Array.reduce (use Object.assign) vs Array.reduce (use destructuring)