简体   繁体   English

除了 switch 和三元运算符之外,typescript 或 javascript 中嵌套 If else 语句的替代方法

[英]Alternative for nested If else statements in typescript or javascript otherthan switch and ternary operator

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.目前我正在使用 ESLint 来降低代码的复杂性,因此我想将 if-else 代码降低到更低的复杂性。 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');
    }

You can use order?.length ? order : ""您可以使用order?.length ? order : "" 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返回一个值,所以你可以写:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM