array.map first call: [1,2,3,4,5,6], position 0 hash value '1', so pop 6. seconde call: [1,2,3,4,5], position 1 hash value '2', so pop 5. third call: [1,2,3,4], position 2 hash value '3', so pop 4. fourth call: [1,2,3], position 3 hash no value, so pop nothing.
source share