基于字符串长度范围禁用按钮的实现方案
解决方案
首先纠正你之前表达式的两个关键错误:
- 使用了赋值运算符
=而非比较运算符=== - 逻辑非
!的位置错误,导致逻辑完全颠倒
按钮启用的核心逻辑是输入长度等于10,或者大于15,直接用这个正向条件判断就足够优雅,完全不需要反向逐个排除11-14的情况:
// 按钮启用的判断条件 const isButtonEnabled = str.length === 10 || str.length > 15;
如果需要写禁用条件,也可以通过对启用条件取反得到,或者用德摩根定律转换为更直观的形式:
// 按钮禁用的判断条件 const isButtonDisabled = !(str.length === 10 || str.length > 15); // 等价写法(逻辑更直观) const isButtonDisabled = str.length !== 10 && str.length <= 15;
这两种写法都比逐个列举11-14要简洁清晰,逻辑表达也更直接。
内容的提问来源于stack exchange,提问作者Sha
相关产品推荐
相关产品推荐

