https://blog.stackademic.com/the-difference-between-array-map-and-foreach-methods-in-javascript-c299f8205fac