for ... in...
于对象来说,是无序的;
于数组来说,是有序的。
此处按照插入顺序即有序,不按照插入顺序即为无序。
解决:
插入对象的时候,也将key插入到某个数组中。
var hash = {};
var arr = [];
while(一些条件) {
if (hash[key]) {
do something;
} else {
hash[key] = XXX;
arr.push = key;
}
}
遍历时:
for (var key in arr) {
if (arr.hasOwnProperty(key)) {
do something with hash[key];
}
}
// 有不对的地方,欢迎大家批评指正!