在 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 , 那么它将只是一个带有 _.object
的单行, 像这样
console.log(_.object(data));
# { a: 1, b: 2, c: 3 }
关于javascript - 如何将数组的数组转换为对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300968/