vue使用v-for遍历对象的顺序问题

v-for循环会先判断是否有iterator接口,如果有循环执行next()方法,没有则会调用Object.keys()方法。

原生具备Iterator接口数据结构的:Array、Map、Set、TypedArray、函数的arguments对象、NodeList对象,对象(Object)没有默认部署 Iterator 接口。

Object.keys()方法会按照新元素是否为 array index,界定是否重新排序并插入到开头。(简单理解:把能转换Number类型的key值进行排序,剩下的按先来后)

若业务需依赖对象 key 先来后到的排序、且涉及普通字符串与数字字符串的混合,再考虑到旧引擎的兼容问题的情况,另外维护一个 key 的数组会更加稳妥。

你可能感兴趣的:(vue)