js:三元运算符中的多个return
js: Multiple return in Ternary Operator
对于我的任务,我已经完成了一段代码来获取用户详细信息,
var data = userInfo.map(function (element) {
if (element[9].search("Active") != -1) {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
};
}
else {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
}
工作正常,我可以在可变数据中看到所有用户的所有详细信息。
在重构时,我被要求使用三元运算符来实现它(不知道为什么我必须这样改变,尽管那个工作正常)。所以我这样尝试,执行了代码,但我只能在变量数据中看到 NULL 值。
var data = userInfo.map(function (element) {
(element[9].search("Active")) != -1 ? {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
} : {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
谁能帮我解决这个问题?
提前致谢
您的 map
函数需要在每次迭代时 return 做一些事情。只需添加 return
关键字:
var data = userInfo.map(function (element) {
return (element[9].search("Active")) != -1 ? {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
} : {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
因为只差一个属性(IsActiveUser
),所以可以在对象里面插入比较。
var data = userInfo.map(function (element) {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': ~element[9].search("Active") ? "True": "False" // really a string?
};
});
对于我的任务,我已经完成了一段代码来获取用户详细信息,
var data = userInfo.map(function (element) {
if (element[9].search("Active") != -1) {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
};
}
else {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
}
工作正常,我可以在可变数据中看到所有用户的所有详细信息。
在重构时,我被要求使用三元运算符来实现它(不知道为什么我必须这样改变,尽管那个工作正常)。所以我这样尝试,执行了代码,但我只能在变量数据中看到 NULL 值。
var data = userInfo.map(function (element) {
(element[9].search("Active")) != -1 ? {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
} : {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
谁能帮我解决这个问题?
提前致谢
您的 map
函数需要在每次迭代时 return 做一些事情。只需添加 return
关键字:
var data = userInfo.map(function (element) {
return (element[9].search("Active")) != -1 ? {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "True"
} : {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': "False"
};
}
因为只差一个属性(IsActiveUser
),所以可以在对象里面插入比较。
var data = userInfo.map(function (element) {
return {
'LastName': Capitalizefirstletter(element[1]),
'FirstName': Capitalizefirstletter(element[2]),
'UserName': element[3],
'IsActiveUser': ~element[9].search("Active") ? "True": "False" // really a string?
};
});