我正在使用优秀的Underscore.js库。我有一个特定的任务,用JavaScript或jQuery可以很好地完成,但我想知道是否有一些在Underscore中可用的抽象方法我错过了。
本质上,我有一个像这样的对象 -
var some_object_array = [{id: "a", val: 55}, {id: "b", val: 1}, {id: "c", val: 45}];
我想将这个转换成 -
var some_map = {"a": {id: "a", val: 55}, "b": {id: "b", val: 1}, "c": {id: "c", val: 45}};
我知道可以使用_.groupBy(some_object_array, "id")
。但是这将返回一个类似于以下的映射 -
var some_grouped_map = {"a": [{id: "a", val: 55}], "b": [{id: "b", val: 1}], "c": [{id: "c", val: 45}]};
请注意,这段代码确实完成了它所宣传的工作。但我希望能够获得some_map
而无需自己迭代对象。任何帮助都将不胜感激。
mapo = _.compose(_.object, _.map);
。 - Dustin Getz_.object()
已被移除。在 underscore 中是否仍有替代方法可用? - Nick McCurdy_.transform
函数。 - emkmanmapo
分配给全局范围:_.mixin({mapo: _.compose( _.object, _.map )});
- Jordan Arsenault_.object()
在underscore的最新版本中没有被移除。 - svarog