JavaScriptで配列内の偶数だけを繰り返し複製する方法
本記事では、配列内に含まれる偶数だけを同じ配列の中で繰り返し(複製)するJavaScript関数の作成方法を解説します。
例えば、次のような配列が与えられたとします。
const arr = [1, 2, 5, 6, 8];
期待される出力
この場合、偶数である「2」「6」「8」がそれぞれ2つずつ並び、以下のような結果が得られます。
const output = [1, 2, 2, 5, 6, 6, 8, 8];
それでは、この処理を実現するコードを見ていきましょう。
実装例
実際のコードは以下の通りです。
const arr = [1, 2, 5, 6, 8];
const repeatEvenNumbers = arr => {
let end = arr.length - 1;
for(let i = end; i > 0; i--){
if(arr[i] % 2 === 0){
arr.splice(i, 0, arr[i]);
};
};
return arr;
};
console.log(repeatEvenNumbers(arr));コードの解説
この関数は、配列を末尾から先頭へ向かって走査するのがポイントです。後ろからループすることで、splice()で要素を挿入しても、まだチェックしていないインデックスの位置がずれることがありません。
各要素に対して arr[i] % 2 === 0(2で割った余りが0)という条件で偶数かどうかを判定し、偶数であれば splice(i, 0, arr[i]) を使って同じ位置にそのコピーを挿入します。第2引数に0を指定しているため、既存の要素は削除されず、挿入だけが行われます。
出力
コンソールには以下のように出力されます。
[
1, 2, 2, 5,
6, 6, 8, 8
]このように、元の配列の順序を保ちながら、偶数だけを隣接する形で複製することができます。
-
JavaScriptで配列を空にする方法まとめ【3つの手法と使い分けのポイント】
JavaScriptで配列を空にする(初期化する)方法は複数あります。それぞれの手法には特徴や注意点があり、状況に応じて適切に使い分けることが重要です。この記事では、代表的な3つの方法と、それぞれのメリット・デメリットを詳しく解説します。まず、以下のような配列があると仮定します。let arr = [1, test, {}, 123.43];方法1:新しい空の配列で置き換えるarr = [];変数arrに新しい空の配列を再代入する方法です。最もシンプルかつ高速な手法として知られています。ただし注意点として、元の配列への参照がプログラムの他の場所に存在する場合、それらの参照は自動的に更新されませ
-
JavaScriptの基本配列メソッド解説!push・pop・shift・unshift・spliceの使い方を実例付きで紹介
JavaScriptには、配列を操作するための便利な組み込みメソッドが数多く用意されています。その中でも特によく使われるのが、要素の追加や削除を行う以下の5つの基本メソッドです。 JavaScriptの主要な配列メソッド一覧 メソッド説明 Array.push()配列の末尾に要素を追加します。 Array.pop()配列の末尾から要素を取り除きます。 Array.unshift()配列の先頭に要素を追加します。 Array.shift()配列の先頭から要素を取り除きます。 Array.splice()配列内の任意の位置で要素の追加・削除を行います。 これらのメソッドは、配列の