--- id: 60a0cd91ed86e04a947f6608 challengeType: 1 videoUrl: '' forumTopicId: -1 title: 将传入字符串中每个字符获取与其配对的元素返回 --- ## Description
![](http://www.icoderoad.com/p/images/data.png) 欢迎关注路条编程网站,本专题将教您中级算法脚本相关的范围内数字求和、区分两个数组、搜索与替换、集合排序、求斐波那契数组中的奇数之和、二进制转换及构造对像类等相关算法问题。 将传入字符串中每个字符获取与其配对的元素返回 本次练习我们需要写一个函数 strPairElement 。该方法接收一个参数 str,该方法把传入的字符串中每个字符,获取与其配对的元素,并将结果作为二维数组返回。 碱基对是一对 AT 和 CG。将缺少的元素与提供的字符匹配。 将提供的字符作为每个数组中的第一个元素返回。 例如,对于输入 GCG,返回[[“G”, “C”],[“C”, “G”],[“G”, “C”]]。 字符及与其配对的元素在一个数组中。再将所有数组放到一个封装数组中。 在介绍完整代码之前,我们先介绍下数组 map 方法的具体用法: map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。 语法: var new_array = arr.map(function callback(currentValue[, index[, array]]) { // Return element for new_array }[, thisArg]) 参数: callback 生成新数组元素的函数,使用三个参数: currentValue callback 数组中正在处理的当前元素。 index可选 callback 数组中正在处理的当前元素的索引。 array可选 map 方法调用的数组。 thisArg可选 执行 callback 函数时值被用作this。 返回值: 一个由原数组每个元素执行回调函数的结果组成的新数组。 练习完整代码如下所示: function strPairElement( str ){ var pairs = { A: "T", T: "A", C: "G", G: "C" }; var arr = str.split(""); return arr.map(x => [x, pairs[x]]); } console.log( strPairElement('GTCAGT') ); // => 0: (2) ["G", "C"] // => 1: (2) ["T", "A"] // => 2: (2) ["C", "G"] // => 3: (2) ["A", "T"] // => 4: (2) ["G", "C"] // => 5: (2) ["T", "A"]
## Instructions
## Tests
## Challenge Seed
```js ```
## Solution