Not by the spec, but I’m fairly certain Chrome had to modify their algorithm to provide a guarantee…
Adam Ahmed

Just tried this. Interestingly, check this out..

o={} // Object {}
o['1'] = 1
o['a'] = 1
o['2'] = 1
for(i in o) console.log(i)
// 1
// 2
// a

Map doesn’t have this problem. Thanks for raising this.

Show your support

Clapping shows how much you appreciated Just Chris’s story.