This function is intended to replicate behaviour of the Array.map() function but for Objects.
If an array is passed in instead then it will perform standard map(). It is recommended to
always use the standard map() function when it is known that the object is actually an array.
Parameters
obj: mappableItem
The Object (or Array) to be mapped
fn: mapCallback
The function to be processed for each mapped property
thisArg: mappableItem = undefined
Optional. Value to use as this when executing callback.
This function is intended to replicate behaviour of the Array.map() function but for Objects. If an array is passed in instead then it will perform standard map(). It is recommended to always use the standard map() function when it is known that the object is actually an array.