[转]Object.keys()和for in的排序问题
原文地址:https://www.jianshu.com/p/a086ff48be6e
- Object.keys()和for in 具有相同的排列顺序
- 如果属性名的类型是Number,那么Object.keys返回值是按照key从小到大排序
- 如果属性名的类型是String或Symbol,那么Object.keys返回值是按照属性被创建的时间升序排序,且一定排在Number之后
var obj = {
a:1,
'2':1,
'1':1,
d:1,
c:1,
'3':1
}
obj.b=66;
Object.keys(obj) //["1", "2", "3", "a", "d", "c", "b"]