返回函数而不是值
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
我试图格式化一些值并创建一个 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