如何高效精简数组长度判断的if语句?
优化方案:极简逻辑重构
先直接上最精简的等价实现:
const isEmpty = (): boolean => { return hasValArr1() || hasValArr2(); };
逻辑拆解
你写的isEmpty函数本质逻辑是:仅当arr1和arr2都为空时返回false,其余所有情况(单个非空/两个都非空)都返回true。用逻辑或(||)就能直接匹配这个需求——只要任意一个数组非空就返回true,只有两个都空才返回false,完全覆盖所有分支。
进一步精简:移除冗余判断函数
如果hasValArr1和hasValArr2只是单纯判断数组长度,完全可以直接内联逻辑,省去额外函数调用:
const isEmpty = (): boolean => arr1.length > 0 || arr2.length > 0;
原写法冗余的原因
你之前的if语句和三元写法把所有分支都枚举了,但大部分分支的返回结果一致,没必要逐个罗列。而且逻辑或的短路特性还能提升效率——如果arr1已经非空,就不会再去判断arr2的长度了。
内容的提问来源于stack exchange,提问作者davidio
相关产品推荐
相关产品推荐

