1

考虑两个数组。一个带钥匙。另一个有价值观。

输出是由键/值对组成的对象。

是否有比以下更好的(性能)方法来做到这一点:

var keys = ["some", "key", "foo", "bar"];
var values = ["this", "are", "values", "dude"];

var result = { };

for(var i = 0, len = keys.length; i < len; i++) {
  result[keys[i]] = values[i];
}

console.log(result);
4

2 回答 2

1

您可以使用indexOf数组的方法从第二个数组中获取相应的值,例如。对于键 'foo',值 = values[keys.indexOf('foo')];

var keys = ["some", "key", "foo", "bar"],
values = ["this", "are", "values", "dude"],
key = 'foo',
value =  values[keys.indexOf('foo')];
于 2012-10-10T12:17:55.590 回答
0

http://underscorejs.org 用于以下

_.object(keys, values)

构建的复杂度为 O(N),检索的复杂度为 O(1)。如果检索是您的目标,我认为您无法击败它。

于 2012-10-10T12:49:17.627 回答