如果在Typescript或JavaScript Etherthan Switch和Ternary Operator中嵌套的替代方案

发布于 2025-02-09 04:02:10 字数 1116 浏览 2 评论 0原文

目前,我正在使用ESLINT来降低代码的复杂性,因此为了使我想将IF-ELSE代码降低到较少的复杂性。我有以下代码。

if (sortBy.length && sortBy == 'updated_at') {
     createQuery
     .distinctOn(['adjustments.updated_at', 'adjustments.id'])
     .orderBy('adjustments.updated_at', order && order.length ? order :  
     DESC')
     .addOrderBy('adjustments.id', order && order.length ? order : 
     'DESC');
} else if (sortBy.length && sortBy == 'default_priority') {
            createQuery
            .distinctOn(['adjustments.default_priority', 
            'adjustments.id', 'adjustments.priority_action_value'])
            .orderBy('adjustments.default_priority', order && 
            order.length ? order : 'DESC')
           .addOrderBy('adjustments.priority_action_value', 'DESC');
   } else {
         createQuery
         .distinctOn(['adjustments.created_at', 'adjustments.id'])
         .orderBy('adjustments.created_at', order && order.length ? 
         order : 'DESC')
         .addOrderBy('adjustments.id', order && order.length ? order 
         : 'DESC');
    }

Currently I am using ESLint to reduce the complexity of code, so in order to that I want to reduce my if-else code into less complexity. I have the following code.

if (sortBy.length && sortBy == 'updated_at') {
     createQuery
     .distinctOn(['adjustments.updated_at', 'adjustments.id'])
     .orderBy('adjustments.updated_at', order && order.length ? order :  
     DESC')
     .addOrderBy('adjustments.id', order && order.length ? order : 
     'DESC');
} else if (sortBy.length && sortBy == 'default_priority') {
            createQuery
            .distinctOn(['adjustments.default_priority', 
            'adjustments.id', 'adjustments.priority_action_value'])
            .orderBy('adjustments.default_priority', order && 
            order.length ? order : 'DESC')
           .addOrderBy('adjustments.priority_action_value', 'DESC');
   } else {
         createQuery
         .distinctOn(['adjustments.created_at', 'adjustments.id'])
         .orderBy('adjustments.created_at', order && order.length ? 
         order : 'DESC')
         .addOrderBy('adjustments.id', order && order.length ? order 
         : 'DESC');
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

就是爱搞怪 2025-02-16 04:02:10

您可以使用订单吗?。订单:“”

在此处如果存在订单,则将检查其长度。

但是在这里我认为order.length返回一个值,因此您可以写下:

    order?.length>0 ? order:""
    order?.length<10 ? order:""

You can use order?.length ? order : ""

Here if order exist then it will check for its length.

But here I think order.length returns a value so you might write:

    order?.length>0 ? order:""
    order?.length<10 ? order:""
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文