I suggest there may be a misunderstanding here.
You probably know that Javascript objects are not simple arrays and their specific internal implementation is hidden from Javascript code. Objects are key-value collections, without, I believe, any guaranteed order.
How do you know that using for (var key in myObj) does hash key lookups?
I don't think there's any guarantee of that, in fact, doing that would require knowlege of the keys from which to compute the hash. Yet you are asking for all values without specifying a key.
There's a reasonable probability that for (var key in myObj) already does the closest available thing to what you want (depending on browser or js engine used). I suspect it's more likely to scan the internal structure directly and avoid calculating hashes, since you want all keys.
Someone more expert on js implementations, and standard may have more to offer on this.