繁体   English   中英

是否有Perl像JavaScript中的翻译一样?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM