在lodash中是否有更简单的方法来实现以下目标,
var o = _.reduce([2, 3, 7], function(acc, v, i) {
acc[v] = i || "0";
return acc;
}, {});
结果,
Object {2: "0", 3: 1, 7: 2}
解决方法:
既然你说你想用lodash
_.fromPairs(_.map(array, (elt, i) => [elt, String(i)]))
这可以通过将数组转换为键/值对数组来实现,然后您可以使用_.fromPairs来变成对象.
我不是真的推荐这个,而是使用ES6的单线程:
Object.assign({}, ...array.map((e, i) => ({[e]: String(i)})))
这可以通过创建一堆小的一个属性对象,然后将它们传播到Object.assign的参数列表上,它将它们粘合在一起成为一个对象.