📌  相关文章
📜  元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型 - TypeScript 代码示例

📅  最后修改于: 2022-03-11 14:48:11.834000             🧑  作者: Mango

代码示例4
const DNATranscriber = {
    G: 'C',
    C: 'G',
    T: 'A',
    A: 'U'
};

export default class Transcriptor {
    toRna(dna: string) {
        const codons = [...dna];
        if (!isValidSequence(codons)) {
            throw Error('invalid sequence');
        }
        const transcribedRNA = codons.map(codon => DNATranscriber[codon]);
        return transcribedRNA;
    }
}

function isValidSequence(values: string[]): values is Array {
    return values.every(isValidCodon);
}
function isValidCodon(value: string): value is keyof typeof DNATranscriber {
    return value in DNATranscriber;
}