我认为我的if else声明中存在一个问题,因为我认为它给了我与我期望的相反的结果。
console.log(_.map(item, function(n){return _.find(n).tertiary}))
//is undefined.
console.log(_.map(item, function(n){return _.find(n).primary}));
//is ["green"]
I use the following if statement to assign a value to my variable:
if(_.map(item, function(n){return _.find(n).tertiary}) === undefined ){
var audience = _.map(item, function(n){return _.find(n).tertiary});
} else {
var audience = _.map(item, function (n) {return _.find(n).primary});
}
console.log(audience);//this is undefined
我做错了什么或这是否正常工作?我希望答案是[“绿色”]。
答案 0 :(得分:3)
将您的if else更改为:
if(_.map(item, function(n){return _.find(n).tertiary}) === undefined ){//since tertiary is undefined, so use primary instead
var audience = _.map(item, function (n) {return _.find(n).primary});
} else {
var audience = _.map(item, function(n){return _.find(n).tertiary});
}
答案 1 :(得分:1)
只是为了一点点:
var colours = _.map(item, function(n){
return {primary: _.find(n).primary, tertiary: _.find(n).tertiary}
})
var audience = colours.primary || colours.tertiary
console.log(audience)
虽然下划线/ lodash可能会帮助我们更清洁地获取这些价值。