如何将数组的数组转换为对象?

How to convert an array of arrays to an Object?

在 javascript 中将元组列表转换为字典的最佳方法是什么?

一种方法是这样的:

var data = [['a',1], ['b',2],['c',3]]
var group_to_lengths = {} 

data.forEach(function(d) {
    group_to_lengths[d[0]] = d[1]; 
}); 

是否有更简单或更惯用的方法来完成同样的事情?也许像 python (group_to_lengths = dict(data))?

我建议使用 Array.prototype.reduce,这在这种情况下更符合习惯,例如

console.log(data.reduce(function(result, currentItem) {
    result[currentItem[0]] = currentItem[1];
    return result;
}, {}));
# { a: 1, b: 2, c: 3 }

但是,如果你使用像underscore.js, then it would be just a one-liner with _.object这样的函数式编程库,就像这样

console.log(_.object(data));
# { a: 1, b: 2, c: 3 }