模板助手中的异常:TypeError:_. mapObject不是函数

时间:2016-08-23 13:46:07

标签: meteor underscore.js

在meteor上运行underscorejs时,我遇到了以下问题。

  

“模板助手中的异常:TypeError:_. mapObject不是   函数“

请告知。

  var types = _.groupBy(areaFlatten, 'category');
        console.log(types);
        var result = **_.mapObject**(types, function(val, key) {
        return  _.reduce(val, function(memo, v) {
          return memo + v.val;
        }, 0) / val.length * 10;

1 个答案:

答案 0 :(得分:3)

我认为您使用的是较旧版本的Underscore。 v1.8.0(http://underscorejs.org/#changelog

中添加了_.mapObject

不使用_.mapObject的替代方案:

var types = _.groupBy(areaFlatten, 'category');
console.log(types);
var result = {};
_.each(types, function(val, key) {
    result[key] = _.reduce(val, function(memo, v) {
      return memo + v.val;
    }, 0) / val.length * 10;
});

如果您要定期使用此功能,您可以添加一个mixin以使该功能可用,直到您有机会升级,请参阅此处https://jsfiddle.net/Lradh7jd/1/

_.mixin({
  mapObject: function(obj, iteratee, context) {
    var output = {};
    _.each(obj, function(v, k) {
        output[k] = iteratee.apply(context || this, arguments);
    });
    return output;
  }
});