मेरे पास कुछ वेनिला जावास्क्रिप्ट कोड है जो एक स्ट्रिंग इनपुट लेता है, स्ट्रिंग को वर्णों में विभाजित करता है, और फिर उन वर्णों को एक वस्तु पर एक कुंजी से जोड़ता है।
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
यह उम्मीद के मुताबिक काम करता है। अब मैं इसे टाइपस्क्रिप्ट में बदलना चाहता हूं।
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
लेकिन मुझे निम्नलिखित त्रुटि मिल रही है।
तत्व का स्पष्ट रूप से एक 'कोई' प्रकार है क्योंकि 'स्ट्रिंग' प्रकार की अभिव्यक्ति का उपयोग अनुक्रमणिका प्रकार '{"ए" के लिए नहीं किया जा सकता है: स्ट्रिंग; } '। टाइप> 'स्ट्रिंग' के पैरामीटर के साथ कोई इंडेक्स सिग्नेचर टाइप नहीं मिला> '{"ए": स्ट्रिंग; } '। ts (7053)
मुझे लगा कि मुद्दा यह था कि मुझे एक स्ट्रिंग होने के लिए अपनी ऑब्जेक्ट कुंजी की आवश्यकता थी। लेकिन उन्हें तार में परिवर्तित करने से काम नहीं चला।
DNATranscriber = {
"G":"C",
"C": "G",
"T": "A",
"A": "U"
}
मैं इससे काफी भ्रमित हूं। इसमें कहा गया है कि एक प्रकार का स्ट्रिंग वाला कोई सूचकांक हस्ताक्षर मेरी वस्तु पर मौजूद नहीं है। लेकिन मुझे यकीन है कि यह करता है। मैं क्या गलत कर रहा हूं?
संपादित करें - मैंने इसे DNATranscriber ऑब्जेक्ट को किसी भी प्रकार का हल देकर हल किया है।
DNATranscriber: any = {
"G":"C",
"C":"G",
"T":"A",
"A":"U"
}
toRna