You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

检查多个变量是否为非空字符串的多或运算写法有没有简洁简写?

简洁实现方案

1. 单次使用无需复用的场景

直接用数组some方法替换多段||判断,和原写法逻辑完全等价,运行性能无差异,可读性更好也更短:

[startsWith, contains, endsWith].some(v => v !== '')

如果后续需要新增同类判断条件,只需往数组内追加变量即可,不需要继续堆叠||运算符。

2. 多场景复用的场景

可以抽一个极简的工具函数,没有过度设计成本,调用时更清爽:

// 工具函数定义,全局只需写一次
const hasNonEmptyStr = (...args) => args.some(v => v !== '')

// 业务中调用的写法
hasNonEmptyStr(startsWith, contains, endsWith)

适配场景的额外简化

如果你的业务逻辑中,undefined、null、0、false这类值也属于需要判定为「空」的范围,可以进一步简化判断逻辑,直接用Boolean做判断:

// 等价于判断所有变量中存在至少一个真值
[startsWith, contains, endsWith].some(Boolean)

注意如果你的业务允许0、false这类假值作为合法有效值,不要用这个简化写法,避免逻辑错误。


内容的提问来源于stack exchange,提问作者user14551057

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 09:39:02