https://javascript.plainenglish.io/how-to-map-over-a-javascript-object-while-preserving-the-keys-13f083a9b98d