ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JS中级算法,DNA配对

2022-02-02 15:32:48  阅读:274  来源: 互联网

标签:DNA JS break paired str pair pairElement 配对


DNA 配对

解题思路链接

给出的 DNA 链上缺少配对元素。 请基于每个字符,获取与其配对的元素,并将结果作为二维数组返回。

DNA 的碱基对 有两种形式:一种是 A 与 T,一种是 C 与 G。 请为参数中给出的每个字符配对相应的碱基。

注意,参数中给出的字符应作为每个子数组中的第一个元素返回。

例如,传入 GCG 时,应返回 [["G", "C"], ["C","G"], ["G", "C"]]

一、switch 语句

function pairElement(str) {
  // Return each strand as an array of two elements, the original and the pair.
  var paired = [];

  // Function to check with strand to pair.
  var search = function(char) {
    switch (char) {
      case "A":
        paired.push(["A", "T"]);
        break;
      case "T":
        paired.push(["T", "A"]);
        break;
      case "C":
        paired.push(["C", "G"]);
        break;
      case "G":
        paired.push(["G", "C"]);
        break;
    }
  };

  // Loops through the input and pair.
  for (var i = 0; i < str.length; i++) {
    search(str[i]);
  }

  return paired;
}

// test here
pairElement("GCG");

二、对象键值对

function pairElement(str) {
  // create object for pair lookup
  const pairs = {
    A: "T",
    T: "A",
    C: "G",
    G: "C"
  }
  // split string into array of characters
  const arr = str.split("")
  // map character to array of character and matching pair
  return arr.map(x => [x, pairs[x]])
}

// test here
pairElement("GCG")

相关链接:
Array.prototype.map()
属性访问器
箭头函数

标签:DNA,JS,break,paired,str,pair,pairElement,配对
来源: https://blog.csdn.net/weixin_45397318/article/details/122769676

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有