返回函数而不是值

returning function instead of value

我试图格式化一些值并创建一个 if 语句以防值为 null,但返回的是一个函数而不是一个值。

这是我的代码:

var data = _.map(information).map(function(x) {
  return _.assign(x, {
    age: function() {
      if (x.age != null) {
        x.age.toString();
      }
    }
  });
});

如果您想获得结果,请内联调用您的函数(并且不要忘记添加 return):

age: (function() {
    if (x.age != null) {
        return x.age.toString();
    }
})()

但是您不需要函数来检查值是否不为空。你可以写一个布尔表达式:

age: x.age && x.age.toString()

或使用三元运算符:

age: x.age ? x.age.toString() : undefined