ECMAScript5之JSON对象属性的遍历顺序

测试浏览器

Chrome、Safari

一 键可以用parseInt解析成整数的,按数值升序顺序。

var intObj = {
    '3.3' : 3.3,
    '2' : 222,
    '1' :111
}
for(var k in intObj){
    console.log('intObj',k,intObj[k])
}

二 键不能用parseInt解析成整数的,按定义顺序。

var strObj = {
    'b' : 'bbb',
    'a' : 'aaa'
}
for(var k in strObj){
    console.log('strObj',k,strObj[k])
}

三 Map、Set按插入顺序。

var map = new Map();
map.set('2',222);
map.set('1',111);
map.forEach(function(val,key){
    console.log("Map",key,val);
});
var set = new Set();
set.add(2);
set.add(1);
set.forEach(function(val){
    console.log("Set",val);
});
原文地址:https://www.cnblogs.com/sea-breeze/p/7015931.html