[英]Is any Perl like translation in JavaScript?
每个字符串转换为JavaScript中的另一个字符串都有内置函数吗?
例如
A <=> T
G <=> C
我的输入字符串像AAATATATTGC
我想将所有A to T
T to A
转换T to A
C to G
G to C
我要输出的是TTTATATAACG
。
在Perl中,针对这种情况很容易做到。
my $s = "AAATATATTGC";
$s =~tr/ATGC/TACG/;
我得到了结果。
像perl一样,有没有可能用JavaScript做到这一点?
您可以将String#replace
与回调一起使用。
// An object to use as replacement var replacement = { A: 'T', T: 'A', C: 'G', G: 'C' }; // Match a single upperCase character from given characters var result = 'AAATATATTGC'.replace(/[ATCG]/g, function(_) { return replacement[_]; // Use the value of the key as replacement }); document.body.innerHTML = result;
使用新的Map构造进行一些细微的改动,以避免手工编码的回调,这种回调比将函数绑定到闭包变量更可重用和可组合:
// replacements:
var reps= new Map([
['A','T'],
['T','A'],
['C','G'],
['G','C']
]);
var result = 'AAATATATTGC'.replace(/[ATCG]/g, reps.get.bind(reps));
// == "TTTATATAACG"
映射还可以更广泛地用作查找表模式,因为0
, "0"
和[0]
都可以是不同的查找键...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.