TypeScript中如何判断任一变量大于0?如何优化代码更简洁优雅?
如何判断多个变量中是否存在大于0的值?附代码优化方案
嘿,这个场景太常见了!咱们一步步来解决你的问题:
核心思路:利用数组的some()方法
要判断多个变量里有没有任一大于0的,最优雅的方式是把这些变量放进数组,然后用原生数组的some()方法——这个方法会遍历数组,只要有一个元素满足条件就立刻返回true,和你原来的||逻辑完全一致,但代码简洁太多。
改写后的简洁代码
直接把你的代码重构一下:
checkIfNonZero(): boolean { const a = 0; const b = 1; const c = 0; const d = 0; // 一行搞定判断逻辑 return [a, b, c, d].some(num => num > 0); }
为什么这写法更好?
- 简洁性拉满:不管你有10个还是20个变量,只要往数组里加就行,不用写一长串
a>0 || b>0 || ... - 可读性更强:
some(num => num >0)一眼就能看懂是在检查“是否存在大于0的数” - 性能不打折:
some()是短路遍历,找到第一个符合条件的元素就会停止,和原生||的性能完全一样
关于“用库替代”的补充
其实原生数组方法已经足够好用了,没必要额外引入库。如果你的项目已经在用Lodash这类工具库,也可以用_.some([a,b,c,d], num => num >0),但原生方案更轻量,没有依赖负担。
内容的提问来源于stack exchange,提问作者RV.
相关产品推荐
相关产品推荐

