我有一些原始的javascript代码,需要输入字符串,将字符串拆分为字符,然后将这些字符与对象上的键匹配。
DNATranscriber = {
"G":"C",
"C": "G",
"T": "A",
"A": "U"
}
function toRna(sequence){
const sequenceArray = [...sequence];
const transcriptionArray = sequenceArray.map(character =>{
return this.DNATranscriber[character];
});
return transcriptionArray.join("");
}
console.log(toRna("ACGTGGTCTTAA")); //Returns UGCACCAGAAUU
Run Code Online (Sandbox Code Playgroud)
这按预期工作。我现在想将其转换为打字稿。
class Transcriptor {
DNATranscriber = {
G:"C",
C: "G",
T: "A",
A: "U"
}
toRna(sequence: string) {
const sequenceArray = [...sequence];
const transcriptionArray = sequenceArray.map(character =>{
return this.DNATranscriber[character];
});
}
}
export default Transcriptor
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误。
元素隐式地具有“ any”类型,因为类型'string'的表达式不能用于索引类型'{“ A”:string; }'。在类型>'{“ A”:string;上找不到带有参数'string'的索引签名。}'。ts(7053)
我以为问题是我需要我的对象键是一个字符串。但是将它们转换为字符串不起作用。
DNATranscriber = {
"G":"C",
"C": "G", …Run Code Online (Sandbox Code Playgroud)