perf(map): avoid using .call when there is no context

The most common use case is calling map without context.
In this case, if the iterator function is called directly instead
of using iterator.call, there will be a performance gain.