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

如何检查字符串是否匹配数据库中存储的任意字符串,现有代码仅校验首条

问题根因

你的代码无论匹配结果如何,都会在循环第一次执行时就直接返回,完全不会遍历后续的存储数据:

  • 第一条数据不匹配:直接返回"Invalid Key provided."
  • 第一条数据匹配:直接返回true
    自然无法完成全量校验。

修复方案

正确的逻辑应该是:遍历所有key的过程中,只要找到任意一个匹配项就立刻返回true;只有全量遍历完所有数据都没有找到匹配项时,再返回错误提示。

修复后的代码如下:

for (const key in keys) {
  if (keys[key].key === hashedQueryKey) {
    return true;
  }
}
// 遍历完所有key都未匹配到才返回错误
return "Invalid Key provided."

可选优化

如果你存储key的keys是数组类型,还可以用数组内置的some方法简化代码,逻辑更直观:

const isKeyValid = keys.some(item => item.key === hashedQueryKey)
return isKeyValid ? true : "Invalid Key provided."

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:18:01