SNSをチェック

すぐに実践できる -JavaScript問題集02

JavaScriptの学習において、コーディング問題は非常に効果的です。ここでは、すぐに実践できる5つのJavaScriptの問題を紹介します。それぞれの問題は、基礎的な概念から少し応用的な要素を含んでおり、実践的なスキルを磨くのに役立ちます。問題の最後に解答と解説をまとめていますので、まずは挑戦してみてください。


問題1: 数字の配列から最大値を見つける

配列の中に含まれる数字から、最も大きい値を返す関数 findMaxValue を作成してください。この関数は、ループを使用して配列を走査し、最大値を見つける必要があります。

ヒント: Math.max() を使用しない方法を考えてみましょう。

functionfindMaxValue(arr) {
// ここにコードを書いてください
}

// 使用例:console.log(findMaxValue([10, 20, 30, 5, 60])); // 出力例: 60

問題2: 文字列の中の母音の数を数える

与えられた文字列の中に含まれる母音の数を数える関数 countVowels を作成してください。母音は「a, e, i, o, u」と定義します。大文字小文字の違いも考慮してください。

ヒント: 文字列を1文字ずつチェックし、条件に合うか確認します。

functioncountVowels(str) {
// ここにコードを書いてください
}

// 使用例:console.log(countVowels("JavaScript is Awesome!")); // 出力例: 7

問題3: 文字列を逆順にする

与えられた文字列を逆順にして返す関数 reverseString を作成してください。これは配列のメソッドやループを使用することで簡単に実装できます。

ヒント: split(), reverse(), join() メソッドの組み合わせを検討してみてください。

functionreverseString(str) {
// ここにコードを書いてください
}

// 使用例:console.log(reverseString("Hello, World!")); // 出力例: !dlroW ,olleH

問題4: 数字が回文かどうかをチェックする

与えられた数字が回文(左右対称な数字)かどうかをチェックする関数 isPalindromeNumber を作成してください。回文かどうかを判断するには、まず数字を文字列に変換してから比較します。

ヒント: まず文字列に変換し、その後に文字列操作を行います。

functionisPalindromeNumber(num) {
// ここにコードを書いてください
}

// 使用例:console.log(isPalindromeNumber(12321)); // 出力例: trueconsole.log(isPalindromeNumber(12345)); // 出力例: false

問題5: フィボナッチ数列を生成する

指定された数のフィボナッチ数列を生成する関数 generateFibonacci を作成してください。フィボナッチ数列は、最初の2つの数が0と1であり、その後の各数が前の2つの数の合計になります。

ヒント: ループや再帰を使って実装することが可能です。

functiongenerateFibonacci(n) {
// ここにコードを書いてください
}

// 使用例:console.log(generateFibonacci(10)); // 出力例: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

解答と解説

以下に、それぞれの問題に対する解答と解説を示します。

解答1: 数字の配列から最大値を見つける

functionfindMaxValue(arr) {
let max = arr[0]; // 配列の最初の値を最大値として仮定for(let i = 1; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i]; // 現在の最大値より大きい場合に更新
}
}
return max;
}

解説: この関数では、最初に配列の最初の値を max 変数に代入します。その後、ループを使って配列の各要素をチェックし、もし max より大きい値が見つかった場合には、それを max に更新します。


解答2: 文字列の中の母音の数を数える

functioncountVowels(str) {
let count = 0;
const vowels = ['a', 'e', 'i', 'o', 'u'];
for(let char of str.toLowerCase()) {
if(vowels.includes(char)) {
count++;
}
}
return count;
}

解説: この関数では、母音リストを用意し、文字列の各文字をループで確認します。母音リストに含まれている文字であれば、カウントを増やします。


解答3: 文字列を逆順にする

functionreverseString(str) {
return str.split('').reverse().join('');
}

解説: この関数では、まず文字列を配列に分割し、逆順に並べ替えてから再度文字列に結合しています。これにより、元の文字列の逆順を取得できます。


解答4: 数字が回文かどうかをチェックする

functionisPalindromeNumber(num) {
const str = num.toString(); // 数字を文字列に変換const reversedStr = str.split('').reverse().join(''); // 文字列を逆順にreturn str === reversedStr; // 元の文字列と逆順の文字列を比較
}

解説: まず、数字を文字列に変換し、その後逆順に並べ替えます。元の文字列と逆順の文字列が同じであれば、その数字は回文です。


解答5: フィボナッチ数列を生成する

functiongenerateFibonacci(n) {
const fib = [0, 1];
for(let i = 2; i < n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
}
return fib;
}

解説: 最初の2つの数値(0と1)を配列に設定し、次の数値を前の2つの数値の合計として順次追加していきます。これにより、指定された長さのフィボナッチ数列を生成します。


これらの問題と解答を通じて、JavaScriptの基本的なスキルを磨くことができます。それぞれの問題には日常的なコーディングで役立つ知識が含まれており、特にアルゴリズムやロジックを考える力を養うことができます。ぜひ実際にコードを書いてみて、理解を深めてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です