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

Jor*_*eña 9 javascript node.js coffeescript underscore.js

是否有一个常见的Javascript/Coffeescript特定的成语我可以用来完成这个?主要是出于好奇.

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

keys = ['one', 'two', 'three']
values = ['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)

bjo*_*rnd 14

var r = {},
    i,
    keys = ['one', 'two', 'three'],
    values = ['a', 'b', 'c'];

for (i = 0; i < keys.length; i++) {
    r[keys[i]] = values[i];
}
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 6

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

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);
Run Code Online (Sandbox Code Playgroud)


小智 6

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

d = {}

for i, index in keys
    d[i] = values[index]
Run Code Online (Sandbox Code Playgroud)

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