correct handling of this arg in array.map
implemented Array.reverse and fix arrayEach with this