将两个数组(键和值)合并到一个对象中

有一个共同的Javascript / Coffeescript特定的习惯用法,我可以用来完成这个? 主要是出于好奇。

我有两个数组,一个由所需的键组成,另一个由所需的值组成,我想将它合并到一个对象中。

keys = ['one', 'two', 'three'] values = ['a', 'b', 'c'] 

 var r = {}, i, keys = ['one', 'two', 'three'], values = ['a', 'b', 'c']; for (i = 0; i < keys.length; i++) { r[keys[i]] = values[i]; } 
 keys = ['one', 'two', 'three'] values = ['a', 'b', 'c'] d = {} for i, index in keys d[i] = values[index] 

说明:在coffeescript中,您可以遍历一个数组,并获取每个项目及其在数组或索引上的位置。 因此,您可以使用此索引将键和值分配给一个新的对象。

只要两个数组的长度相同,就可以这样做:

 var hash = {}; var keys = ['one', 'two', 'three'] var values = ['a', 'b', 'c'] for (var i = 0; i < keys.length; i++) hash[keys[i]] = values[i]; console.log(hash['one']) console.log(hash.two);