今天在跟踪一个项目的源码时发现这么一个之前一直忽略的细节问题:
Javascript中的用for in循环迭代 对象(Map) 属性时是有顺序的
var map = { a: 1, b: 2 };
for(var i in map){
console.log(i);
}
//结果是a, b
var map = { b: 1, a: 2 };
for(var i in map){
console.log(i);
}
//结果是b, a
由于我是先学Java的,用的最多的就是HashMap是无序的,因此先入为主地认为Javascript的对象(Map)也是无需的也是无序的,今天发现实际上是一个类似Java SortedMap!