可能这是正常行为,但我有点困惑。所以这是我的 方案
var myObj = { 10: "2", 20: "3", 30: "4", min: "1", max: "5" };
keysSorted = Object.keys(myObj).sort((a,b) => myObj[a]-myObj[b]);
var obj = {};
keysSorted.forEach(function(item){
console.log(item , myObj[item]);
obj[item] = myObj[item];
});
console.log(obj);
输出:
min 1
10 2
20 3
30 4
max 5
{10: "2", 20: "3", 30: "4", min: "1", max: "5"}
我认为会是什么
输出:
min 1
10 2
20 3
30 4
max 5
{min: "1", 10: "2", 20: "3", 30: "4", max: "5"}
所以我的问题是为什么对象创建顺序不在forEach
内部顺序?