JavaScriptでDNA配列をRNA配列へ変換する方法
DNAとRNAの関係
デオキシリボ核酸(DNA)は、生物システムにおける主要な遺伝情報の保存分子です。DNAはグアニン(G)、シトシン(C)、アデニン(A)、チミン(T)という4つの核酸塩基から構成されています。
一方、リボ核酸(RNA)は細胞内で主要なメッセンジャーとして機能する分子です。RNAは化学構造においてDNAとわずかに異なり、チミンを含みません。代わりに、RNAではチミンの位置にウラシル(U)という別の核酸塩基が使用されます。
課題
ここでは、与えられたDNA文字列を対応するRNA文字列に変換するJavaScript関数を作成します。
変換のルールは非常にシンプルで、DNA文字列中のすべての「T」を「U」に置き換えるだけです。
サンプルコード
以下がその実装例です。
const DNA = 'GCAT';
const DNAtoRNA = (DNA) => {
let res = '';
for(let i = 0; i < DNA.length; i++){
if(DNA[i] === "T"){
res += "U";
}else{
res += DNA[i];
};
};
return res;
};
console.log(DNAtoRNA(DNA));このコードでは、forループを使ってDNA文字列を1文字ずつ確認し、「T」であれば「U」に置き換えた新しい文字列を組み立てています。
より簡潔な書き方
同じ処理は、replace()メソッドや正規表現を使えば1行で実現することもできます。
const DNAtoRNA = (dna) => dna.replace(/T/g, 'U');
console.log(DNAtoRNA('GCAT')); // GCAU出力結果
GCAU
入力された「GCAT」の中の「T」が「U」に変換され、「GCAU」というRNA文字列が出力されました。
まとめ
DNAからRNAへの変換は、文字列内の特定の文字を置き換える基本的な操作で実現できます。forループによる逐次処理でも、replace()メソッドのような組み込み関数でも対応可能です。状況に応じて、可読性とパフォーマンスのバランスを考えて最適な方法を選びましょう。
-
JavaScriptのオブジェクト配列に配列メソッドを適用する方法
JavaScriptでは、オブジェクトが格納された配列に対しても、通常の配列と同じようにpop()、push()、splice()などの標準的な配列メソッドをそのまま使用できます。オブジェクト配列はあくまで「配列」であるため、要素としてオブジェクトが入っていても配列操作のAPIは共通で動作します。 コード例 以下は、JavaScriptオブジェクトの配列に対して配列メソッドを使用するサンプルコードです。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8
-
JavaScriptのクロージャでプライバシー(変数の隠蔽)を実現する方法
はじめに:クロージャとは何かJavaScriptにはクラスベース言語のような「private」修飾子が存在しないため、変数を外部から直接アクセスできないようにしたい場合、クロージャ(Closure)を活用するのが定番のテクニックです。クロージャとは、「関数が定義されたときのスコープ(外側の変数)への参照を保持し続ける仕組み」のことです。この性質を利用すると、関数の内部に閉じ込めた変数は外部から直接参照・書き換えできなくなり、いわばプライベートな状態として扱うことができます。以下に、クロージャを使ってプライバシー(変数の隠蔽)を実現するサンプルコードを示します。サンプルコード<!DOCTY