JavaScriptで条件に応じて10進数を2進数または16進数に変換する方法
問題
数値 n を引数として受け取る JavaScript 関数を作成する必要があります。この関数は、以下の条件に基づいて、受け取った数値を変換して返します。
- 数値が偶数の場合 → 2進数に変換する
- 数値が奇数の場合 → 16進数に変換する
解決のアプローチ
まず、数値を2で割った余りが0かどうかを判定して、偶数か奇数かを確認します。その後、三項演算子を使って条件分岐を行い、toString() メソッドの引数に基数(2進数なら 2、16進数なら 16)を渡すことで、それぞれの進数表現に変換します。
コード例
const num = 1457;
const conditionalConvert = (num = 1) => {
const isEven = num % 2 === 0;
const toBinary = () => num.toString(2);
const toHexadecimal = () => num.toString(16);
return isEven
? toBinary()
: toHexadecimal();
};
console.log(conditionalConvert(num));
出力
コンソールには以下のように出力されます。
5b1
コードの解説
この例では、num = 1457 は奇数であるため、16進数に変換され、結果として「5b1」が出力されます。処理の流れは以下の通りです。
num % 2 === 0:数値を2で割った余りが0であれば、偶数と判定します。num.toString(2):数値を2進数の文字列に変換します。num.toString(16):数値を16進数の文字列に変換します。- 三項演算子(
条件 ? A : B)を使い、偶数なら2進数の結果を、奇数なら16進数の結果を返します。
このように、toString() メソッドと三項演算子を組み合わせることで、条件に応じた進数変換を簡潔に実装できます。
-
JavaScriptの二分木(バイナリツリー)とは?基本概念と重要用語を徹底解説
二分木(バイナリツリー)は、データの格納を目的として使用される特殊なデータ構造です。最大の特徴は、各ノードが持てる子ノードの数が2つまでという条件にあります。二分木は、整列済み配列と連結リストの両方の長所を兼ね備えた構造です。検索はソートされた配列と同等の速さで行え、データの挿入や削除も連結リストと同様に高速に実行できます。そのため、大量のデータを効率的に扱いたい場合に非常に有用なデータ構造といえます。以下は、二分木の構造を示したイラストです。図には、このあと解説する重要な用語も含まれています。二分木における重要な用語二分木を理解するうえで押さえておきたい、主要な用語を以下にまとめました。パス
-
JavaScriptで配列をSet(セット)に変換する方法
JavaScriptで配列をSetに変換するときの基本JavaScriptでは、Setオブジェクトを使うことで、配列から重複しない一意の値だけを持つコレクションを簡単に作成できます。SetはES6(ECMAScript 2015)で導入された組み込みオブジェクトで、同じ値が複数回追加されても自動的に1つにまとめられるのが特徴です。変換自体は非常にシンプルで、new Set(配列)と書くだけで完了します。コード例:配列からSetへの変換以下は、重複を含む配列をSetに変換して画面に表示するサンプルコードです。<!DOCTYPE html> <html lang=ja> &