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

JS实现DNA配对功能代码运行异常,求错误原因及修复方法

DNA碱基配对代码错误分析及修复方案

错误原因

  • 字符串拆分逻辑错误:str.split(" ")是按空格拆分字符串,输入无空格的"GCG"时只会得到长度为1的数组["GCG"],无法拆分出单个碱基,应改为str.split("")按单个字符拆分。
  • 循环判断对象错误:循环变量i是遍历的索引值,不能直接和碱基字符对比,应取当前遍历的字符hiString[i]作为判断对象。
  • 条件判断运算符错误:所有if条件中使用了赋值运算符=,而非相等判断运算符===,会导致直接给变量赋值、条件恒成立,不会执行后续分支判断。
  • 返回语句位置错误:return newArr写在for循环内部,第一次循环执行完成就会直接返回结果,后续碱基不会被遍历处理。

修复后代码

function pairElement(str) {
  let newArr = [];
  // 拆分字符串为单个碱基的数组
  let hiString = str.split("");

  for (let i = 0; i < hiString.length; i++) {
    // 取当前遍历的碱基做判断
    const currentChar = hiString[i];
    if (currentChar === "G") {
      newArr.push(["G", "C"]);
    } else if (currentChar === "C") {
      newArr.push(["C", "G"]);
    } else if (currentChar === "A") {
      newArr.push(["A", "T"]);
    } else if (currentChar === "T") {
      newArr.push(["T", "A"]);
    }
  }
  // 循环结束后再返回结果
  return newArr;
}

console.log(pairElement("GCG")); // 输出 [["G","C"],["C","G"],["G","C"]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:54:05