Object中key的顺序并不总是与添加顺序一样。
结论
- 字符串Key,顺序总是与添加顺序一样
- 数字Key,顺序按数字大小顺序排列,与添加顺序无关
- 数字Key总是排在字符串Key前面
- 数字字符串会自动转换为数字Key(例如
"0"
"1"
会自动视为数字)
实验过程
测试环境:Chrome
let obj = {};
obj['c'] = '';
obj['a'] = '';
obj[3] = '';
obj['b'] = '';
obj['2'] = '';
obj[1] = '';
console.log(Object.keys(obj));
输出:
["1", "2", "3", "c", "a", "b"]
(正文完)