JavaScriptで配列の両端から要素をペアリングする方法
JavaScriptでは、数値や文字列を含む配列を受け取り、「先頭からn番目の要素」と「末尾からn番目の要素」をペアにしたサブ配列で構成される、新しい配列の配列を返す関数を作成できます。
例えば、次のような配列があったとします。
const arr = [1, 2, 3, 4, 5, 6];
この場合、期待される出力は以下の通りです。
const output = [[1, 6], [2, 5], [3, 4]];
実装コード
この処理を実現するコードは以下のようになります。
const arr = [1, 2, 3, 4, 5, 6];
const edgePairs = arr => {
const res = [];
const upto = arr.length % 2 === 0 ? arr.length / 2 : arr.length / 2 - 1;
for(let i = 0; i < upto; i++){
res.push([arr[i], arr[arr.length-1-i]]);
};
if(arr.length % 2 !== 0){
res.push([arr[Math.floor(arr.length / 2)]]);
};
return res;
};
console.log(edgePairs(arr));実行結果
コンソールには以下のように出力されます。
[ [ 1, 6 ], [ 2, 5 ], [ 3, 4 ] ]
コードのポイント
この実装のポイントは以下の通りです。
- ループの繰り返し回数は、配列の長さが偶数の場合は「length / 2」、奇数の場合は「length / 2 - 1」としています。
- 各ループ内で、インデックスiの要素と「length - 1 - i」番目の要素(末尾からi番目)を組み合わせてペアを作成し、結果配列へ追加していきます。
- 配列の長さが奇数の場合、中央の要素はペアを持たないため、単一要素のサブ配列として最後に追加されます。
このように、偶数・奇数どちらの長さの配列にも対応できる汎用的な関数になっています。
-
JavaScriptの基本配列メソッド解説!push・pop・shift・unshift・spliceの使い方を実例付きで紹介
JavaScriptには、配列を操作するための便利な組み込みメソッドが数多く用意されています。その中でも特によく使われるのが、要素の追加や削除を行う以下の5つの基本メソッドです。 JavaScriptの主要な配列メソッド一覧 メソッド説明 Array.push()配列の末尾に要素を追加します。 Array.pop()配列の末尾から要素を取り除きます。 Array.unshift()配列の先頭に要素を追加します。 Array.shift()配列の先頭から要素を取り除きます。 Array.splice()配列内の任意の位置で要素の追加・削除を行います。 これらのメソッドは、配列の
-
JavaScriptのArray.from()メソッドとは?使い方と実例をわかりやすく解説
Array.from()メソッドは、配列風オブジェクト(array-like)や反復可能オブジェクト(iterable)から、新しい配列オブジェクトを作成するための便利なメソッドです。文字列、Map、Set、NodeListなど、さまざまなデータを手軽に配列へ変換できます。 Array.from()の基本的な動作 例えば、文字列「HelloWorld」に対してArray.from()を使用すると、1文字ずつ分割された新しい配列が生成されます。以下に実際のコード例を示します。 サンプルコード <!DOCTYPE html> <html lang="ja"&g