js:三元运算符中的多次返回 [英] js: Multiple return in Ternary Operator

查看:325
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆