[英]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.