3

给定一个 object ,x结果是否保证是顺序对齐的?_.keys(x)_.values(x)

这是,对于给定的 index i_.keys(x)[i]并且_.values(x)[i]应该引用 中的相同键值条目x

x假定在调用一个函数和另一个函数之间保持不变。

我有什么理由会遇到订购问题吗?

4

1 回答 1

3

这些函数的实现都使用for (... in ...)循环(或者Object.keys如果它存在)。

一些 JS 引擎报告他们不保证这种循环的顺序(来自MDN):

循环以for...in任意顺序迭代对象的属性(请参阅删除运算符了解更多关于为什么不能依赖于迭代的看似有序性,至少在跨浏览器设置中)。

从删除操作员的注释中可以看出,保证所有浏览器顺序正确性的最佳方法是“要么使用两个单独的数组(一个用于键,另一个用于值),要么构建一个单一属性对象的数组。 "

相关问题:“for (... in ...)”循环中的元素顺序

于 2013-05-29T09:13:30.700 回答