javascript - 如何返回正确匹配的数组?
问题描述
我有一个函数,它需要一串 DNA 以及如何返回正确匹配的 dna 数组我尝试过的代码:
function checkDNA(dna) {
var dnaarr = [];
for(var i = 0; i < dna.length; i++) {
var str = [];
str.push(dna[i]); //pushing current str[i]
if(dna[i].indexOf('') === 0) {
var a = str.push('sd');
}
if(dna[i].indexOf('GGC') === 0) {
var b = str.push("GC", "GC", "CG");
}
if(dna[i].indexOf('gat') === 0) {
var c = str.push("GC", "AT", "TA");
}
if(dna[i].indexOf('PGYYYHVB') === 0) {
var d = str.push('GC');
}
dnaarr.push(str); //pushing the array dna to the main array dnaarr
}
return dnaarr;
}
解决方案
您可以为核碱基取一个对象,并取字符串的字符来获取每个字符的值。
对于未知字符,应用稍后的过滤。
function pair(string) {
var nucleobases = { G: 'C', C: 'G', T: 'A', A: 'T' };
return Array
.from(string.toUpperCase(), s => s in nucleobases && s + nucleobases[s])
.filter(Boolean);
}
console.log(pair('GTTC'));
推荐阅读
- mariadb - 具有多集群设置的 MaxScale
- c# - 在 C# 中将字节数组转换为字符串,反之亦然
- elasticsearch - 卸载 X-Pack 并出现错误
- vba - Vba:元字符“*”在尝试使用“打开”方法打开工作簿时无法指定文件名
- mongodb - 替换 Ansible 剧本中的行
- r - 将一个数据帧的计数附加到另一个
- android - 选项卡内容不显示
- c# - ASP.NET Core [要求] 不可为空的类型
- android - 在 Android 中使用 RxJava2 插入 SQLiteDatabase
- c# - Newtonsoft.Json.Linq.JArray' 不包含“结果”的定义