js:三元运算符中的多次返回 [英] js: Multiple return in Ternary Operator
本文介绍了js:三元运算符中的多次返回的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于我的任务,我已经完成了一段类似于获取用户详细信息的代码,
For my task, I have a done a piece of code like to fetch the user details,
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"
};
}
}
运行正常,我可以在变量数据中看到所有用户的所有详细信息。
which is working properly and i can see all the details of all the user in variable data.
在进行分解时,有人要求我使用三元运算符来实现此功能(不知道为什么我必须像这样更改嗯,一个工作正常)。所以我这样尝试,执行了代码,但在变量数据中只能看到NULL值。
While re factoring, I was asked to implement this using Ternary Operator(No guess why I have to change like this,though that one works fine). So I tried like this, code executed but only NULL value I can see in variable data.
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"
};
}
有人可以帮我吗?
先行感谢
推荐答案
由于区别只是一个属性( IsActiveUser
),则可以将比较插入对象内部。
Since the difference is only one property (IsActiveUser
), you can insert the comparison inside the object.
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?
};
});
这篇关于js:三元运算符中的多次返回的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文