相关疑难解决方法(0)

类型脚本:在类型'{“ A”:string;上未找到参数类型为'string'的索引签名。}

我有一些原始的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)

javascript typescript

24
推荐指数
11
解决办法
2万
查看次数

标签 统计

javascript ×1

typescript ×1