_.keys和_.values是否总是对应​​相同的条目?

时间:2013-05-29 08:55:35

标签: underscore.js

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

对于给定的索引i_.keys(x)[i]_.values(x)[i]应引用x中的相同键值条目。

假设{p> x在对一个函数和另一个函数的调用之间保持不变。

我有什么理由可以获得订购问题吗?

1 个答案:

答案 0 :(得分:3)

implementation of those functions都使用for (... in ...)循环(如果存在,则为Object.keys。)

有些JS引擎报告他们不保证这样的循环订单(来自MDN):

  

for...in循环以任意顺序迭代对象的属性(有关为什么人们不能依赖于迭代的看似有序性的原因,请参阅delete operator,至少在跨浏览器中设置)。

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

相关问题:Elements order in a "for (… in …)" loop