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

JavaScript无if语句多条件判断及addText返回值异常修复

问题原因分析

你写的原逻辑使用了或运算符||,只要任意一个条件成立就会触发返回data的逻辑:
当入参data = 'N/T'时:

  • 第一个判断data !== 'N/T'结果为false
  • 第二个判断data === 0结果为false
  • 第三个判断data(即判断非空字符串'N/T'的布尔值)结果为true
    因此整个三元表达式的条件整体为true,直接返回了'N/T',不符合预期。

解决方案

你需要将逻辑运算符从||改为&&,即只有三个条件同时满足时才返回data,否则返回备选值,同时建议加括号处理运算符优先级避免逻辑异常:

const addText = (data, addAlternative) => {
        return (data !== 'N/T' && (data === 0 || data)) ? data : addAlternative;
};
console.log(addText('N/T', 'alternative')) // 输出 alternative

覆盖场景验证

可通过以下测试用例确认逻辑符合要求:

  • addText('N/T', 'alt') → 返回alt
  • addText(0, 'alt') → 返回0(保留数字0的合法场景)
  • addText('', 'alt') → 返回alt
  • addText(null, 'alt') → 返回alt
  • addText(undefined, 'alt') → 返回alt
  • addText('正常文本', 'alt') → 返回正常文本
  • addText(123, 'alt') → 返回123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:39:00