JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで特別な配列(スペシャル配列)かどうかを判定する方法

特別な配列とは?

ある配列が「特別な配列」とみなされるのは、次の2つの条件を満たす場合です。

  • 奇数番目のインデックス(1, 3, 5…)に配置されている要素は、すべて奇数である
  • 偶数番目のインデックス(0, 2, 4…)に配置されている要素は、すべて偶数である

本記事では、配列を引数として受け取り、その配列が特別な配列かどうかを判定するJavaScript関数を作成します。

実装コード

以下がその実装例です。

const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const isSpecial = (arr = []) => {
    for(let i = 0; i < arr.length; i++){
        if(arr[i] % 2 === i % 2){
            continue;
        };
        return false;
    };
    return true;
};
console.log(isSpecial(arr));

コードの解説

この関数の動作を簡単に説明します。

  • 配列内の各要素をループで順番に走査します。
  • 各インデックス i に対して、arr[i] % 2 === i % 2 という条件で「要素の偶奇」と「インデックスの偶奇」が一致しているかどうかを確認します。
  • 条件が一致していれば continue で次の要素へ処理を進め、一致しなかった場合はその時点で false を返します。
  • すべての要素で条件が成立した場合のみ、その配列は特別な配列であると判断し、true を返します。

このアプローチにより、時間計算量 O(n) のシンプルで効率的な判定が可能になります。

出力結果

コンソールには以下のように出力されます。

true
  1. JavaScriptのshift()メソッドで配列の先頭要素を削除する方法

    JavaScript の shift() メソッドは、配列の先頭(最初)の要素を取り除くために使用されます。取り除かれた要素は戻り値として返されるため、「削除」と「取得」を同時に行える便利なメソッドです。shift() メソッドの構文array.shift()shift() は引数を必要とせず、呼び出すだけで配列の最初の要素が削除されます。なお、元の配列自体が変更される(破壊的メソッド)点には注意が必要です。また、空の配列に対して shift() を呼び出した場合は undefined が返されます。それでは、実際に shift() メソッドを使ったサンプルコードを見ていきましょう。例1:配列

  2. JavaScriptの配列reverse()メソッドとは?使い方とサンプルコードを解説

    JavaScriptのreverse()メソッドは、配列の要素を逆順に並べ替えるために使用されるメソッドです。呼び出すと元の配列そのものが反転され、その結果の配列が戻り値として返されます。構文array.reverse()reverse()メソッドのポイント引数は不要で、呼び出した配列自体を直接書き換えます(破壊的なメソッド)。戻り値は、要素が反転された配列への参照です。元の配列を変更せずに反転したい場合は、ES2023で追加されたtoReversed()メソッドを使うと便利です。それでは、実際にJavaScriptでreverse()メソッドを実装してみましょう。例1:基本的な使い方<