You need to enable JavaScript to run this app. 编写判断传入参数是否包含'dota'字符的函数实现求助
优惠活动
大模型
产品
解决方案
定价
更多

编写判断传入参数是否包含'dota'字符的函数实现求助

含'dota'字符判定的函数实现指南

规则对齐(从给定测试用例推导)

根据示例的预期返回结果,可以明确函数的判定标准:

  • 匹配为不区分大小写的子串检测:文本中出现Dota、DOTA、dota等任意大小写组合的'dota'字符串时,均判定为命中
  • 异常输入兜底:当传入的参数不是有效字符串时,函数不应抛出运行错误,直接返回false即可

分步实现逻辑

  • 第一步:接收传入的检测参数,先做类型校验:非字符串类型的参数直接返回false,规避空值、数字、对象等无效输入引发的报错
  • 第二步:把校验通过的字符串统一转换为全小写格式,抹平不同写法的大小写差异
  • 第三步:在转换后的文本中检索是否存在'dota'子串
  • 第四步:把检索得到的布尔结果直接作为函数返回值

可直接运行的参考实现(JavaScript)

function hasDota(inputText) {
  // 非字符串输入兜底
  if (typeof inputText !== 'string') return false;
  // 统一转小写后匹配,消除大小写差异影响
  return inputText.toLowerCase().includes('dota');
}

示例验证:

  1. 输入值为"Dota is better than league of legends":转小写后文本包含'dota',返回true,符合预期
  2. 输入值为"Counter Strike is better than Fortnite":转小写后无对应子串,返回false,符合预期

新手常踩的逻辑漏洞

  • 直接对原始输入做严格大小写匹配:这种写法会漏掉首字母大写的'Dota'这类场景,导致测试用例返回结果和预期不符
  • 省略空值/类型校验:直接对入参调用toLowerCase方法,当传入null、undefined等值时会直接触发运行时报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 01:27:03