概述
自es2015后,JavaScript的对象结构的属性迭代顺序是字符串键的插入顺序和类数字键的升序的组合。
举个栗子:
当key全是字符串时,其顺序按照插入顺序排列。
当有数字时,其顺序按照下图注释。
// key order: 1, foo, bar
const obj = { "foo": "foo", "1": "1", "bar": "bar" }
如果需要严格按照插入顺序进行键值对的排序,Map 对象可以实现,它能记住键的原始插入顺序。
自es2015后,JavaScript的对象结构的属性迭代顺序是字符串键的插入顺序和类数字键的升序的组合。
举个栗子:
当key全是字符串时,其顺序按照插入顺序排列。
当有数字时,其顺序按照下图注释。
// key order: 1, foo, bar
const obj = { "foo": "foo", "1": "1", "bar": "bar" }
如果需要严格按照插入顺序进行键值对的排序,Map 对象可以实现,它能记住键的原始插入顺序。