ES6对象遍历用for of
目前遇到的问题是,遍历出来的顺序和原对象顺序不一致
Object.values()
const obj = { 100: 'a', 2: 'b', 7: 'c' };
Object.values(obj)
// ["b", "c", "a"]
这个遍历出来的顺序就按键值的大小排序了,上面是用数值当键值,但是用字符串当键值时
const obj = { foo: 'bar', baz: 42 };
Object.values(obj)
// ["bar", 42]
返回数据没有问题,所以键值里一定要用数字的时候,在数字前面加一个字符串排序就没问题了
其他几个对象遍历方法,顺序原理同理。对象遍历用for of 的三个方法,遍历顺序和for in是一样的