読み込み中...

JavaScript初心者必見!配列操作の10選テクニックで効率アップ!

JavaScriptでの配列操作 JS
この記事は約10分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

JavaScriptにおける配列操作は、プログラミングの基礎となる重要なスキルです。

この記事では、初心者の方でも理解しやすいように、配列の基本的な操作方法を詳しく解説していきます。

効率的な配列操作を身につけることで、より洗練されたコードを書けるようになるでしょう。

それでは、配列の宣言から始めて、追加、削除、結合、検索、ループ処理、初期化、存在チェック、要素数の取得まで、順を追って説明していきます。

●配列の宣言方法

JavaScriptで配列を宣言する際、主に2つの方法があります。

それぞれの特徴を見ていきましょう。

○配列リテラル

配列リテラルは、角括弧[]を使用して配列を直接記述する方法です。

簡潔で読みやすいため、多くの開発者に好まれています。

const fruits = ['apple', 'banana', 'cherry'];

この方法では、要素をカンマで区切って並べるだけで簡単に配列を作成できます。

○Arrayコンストラクタ

Arrayコンストラクタを使用する方法も、配列の宣言に利用できます。

この方法は、動的に配列を生成する際に便利です。

const fruits = new Array('apple', 'banana', 'cherry');

Arrayコンストラクタは、引数に要素を渡すことで配列を生成します。

また、引数に数値を1つだけ渡すと、その長さの空の配列が作成されます。

●配列要素の追加

配列に新しい要素を追加する方法について説明します。

主に使用される2つのメソッドを紹介します。

○pushメソッド

pushメソッドは、配列の末尾に新しい要素を追加します。

複数の要素を一度に追加することも可能です。

const fruits = ['apple', 'banana', 'cherry'];
fruits.push('orange');
console.log(fruits); // ['apple', 'banana', 'cherry', 'orange']

pushメソッドは、追加後の配列の新しい長さを返します。

○unshiftメソッド

unshiftメソッドは、配列の先頭に新しい要素を追加します。

pushメソッドと同様に、複数の要素を一度に追加できます。

const fruits = ['apple', 'banana', 'cherry'];
fruits.unshift('orange');
console.log(fruits); // ['orange', 'apple', 'banana', 'cherry']

unshiftメソッドも、追加後の配列の新しい長さを返します。

●配列要素の削除

配列から要素を削除する方法は複数あります。

ここでは、よく使用される3つのメソッドを紹介します。

○popメソッド

popメソッドは、配列の最後の要素を削除し、その要素を返します。

配列の長さは1つ減少します。

const fruits = ['apple', 'banana', 'cherry'];
const lastFruit = fruits.pop();
console.log(lastFruit); // 'cherry'
console.log(fruits); // ['apple', 'banana']

○shiftメソッド

shiftメソッドは、配列の最初の要素を削除し、その要素を返します。

配列の長さは1つ減少し、残りの要素のインデックスが再調整されます。

const fruits = ['apple', 'banana', 'cherry'];
const firstFruit = fruits.shift();
console.log(firstFruit); // 'apple'
console.log(fruits); // ['banana', 'cherry']

○spliceメソッド

spliceメソッドは、配列の任意の位置から要素を削除したり、新しい要素を追加したりできる汎用的なメソッドです。

const fruits = ['apple', 'banana', 'cherry', 'date'];
fruits.splice(1, 2); // インデックス1から2つの要素を削除
console.log(fruits); // ['apple', 'date']

spliceメソッドは、削除された要素を含む配列を返します。

●配列の結合

複数の配列を1つにまとめる操作は、データ処理において頻繁に行われます。

ここでは、配列を結合する方法を説明します。

○concatメソッド

concatメソッドは、2つ以上の配列を結合して新しい配列を作成します。

元の配列は変更されません。

const fruits1 = ['apple', 'banana'];
const fruits2 = ['cherry', 'date'];
const allFruits = fruits1.concat(fruits2);
console.log(allFruits); // ['apple', 'banana', 'cherry', 'date']

concatメソッドは、任意の数の配列や値を引数として受け取ることができます。

●配列の検索

配列内の特定の要素を見つけることは、多くのプログラミングタスクで必要となります。

ここでは、配列内の要素を検索する2つの方法を紹介します。

○indexOfメソッド

indexOfメソッドは、指定した要素が配列内で最初に現れるインデックスを返します。

要素が見つからない場合は-1を返します。

const fruits = ['apple', 'banana', 'cherry', 'banana'];
console.log(fruits.indexOf('banana')); // 1
console.log(fruits.indexOf('grape')); // -1

○findメソッド

findメソッドは、指定された条件を満たす最初の要素を返します。

条件を満たす要素がない場合はundefinedを返します。

const numbers = [10, 20, 30, 40, 50];
const found = numbers.find(num => num > 25);
console.log(found); // 30

findメソッドは、配列の各要素に対してコールバック関数を実行し、その関数が真を返す最初の要素を返します。

●配列のループ処理

配列の各要素に対して操作を行う場合、ループ処理が不可欠です。

ここでは、2つの一般的なループ処理の方法を紹介します。

○forループ

forループは、配列のインデックスを使って各要素にアクセスする伝統的な方法です。

const fruits = ['apple', 'banana', 'cherry'];
for (let i = 0; i < fruits.length; i++) {
    console.log(`Fruit ${i + 1}: ${fruits[i]}`);
}
// 出力:
// Fruit 1: apple
// Fruit 2: banana
// Fruit 3: cherry

○forEachメソッド

forEachメソッドは、配列の各要素に対して指定された関数を実行します。

このメソッドは、より簡潔で読みやすいコードを書くのに役立ちます。

const fruits = ['apple', 'banana', 'cherry'];
fruits.forEach((fruit, index) => {
    console.log(`Fruit ${index + 1}: ${fruit}`);
});
// 出力:
// Fruit 1: apple
// Fruit 2: banana
// Fruit 3: cherry

forEachメソッドは、コールバック関数を引数に取ります。

このコールバック関数は、配列の各要素に対して順番に呼び出されます。

コールバック関数は通常、現在の要素とそのインデックスを引数として受け取ります。

●配列の初期化

既存の配列を空にしたい場合があります。

ここでは、配列を初期化する2つの方法を紹介します。

○lengthプロパティの利用

配列のlengthプロパティに0を代入することで、配列を空にできます。

const fruits = ['apple', 'banana', 'cherry'];
fruits.length = 0;
console.log(fruits); // []

この方法は、元の配列参照を維持したまま配列を空にします。

○新しい空配列の代入

単純に新しい空の配列を変数に代入することで、配列を初期化できます。

let fruits = ['apple', 'banana', 'cherry'];
fruits = [];
console.log(fruits); // []

この方法は、新しい配列参照を作成します。

元の配列を参照している他の変数がある場合、それらは影響を受けません。

●配列の存在チェック

配列内に特定の要素が存在するかどうかを確認することは、多くのプログラミングタスクで必要になります。

ここでは、要素の存在を確認する2つの方法を紹介します。

○indexOfメソッドの活用

indexOfメソッドを使用して、要素が存在するかどうかを確認できます。

const fruits = ['apple', 'banana', 'cherry'];
const hasBanana = fruits.indexOf('banana') !== -1;
console.log(hasBanana); // true

const hasGrape = fruits.indexOf('grape') !== -1;
console.log(hasGrape); // false

indexOfメソッドは要素が見つからない場合に-1を返すため、-1と比較することで存在を確認できます。

○includesメソッドの使用

includesメソッドは、配列に特定の要素が含まれているかどうかを直接確認できます。

const fruits = ['apple', 'banana', 'cherry'];
const hasBanana = fruits.includes('banana');
console.log(hasBanana); // true

const hasGrape = fruits.includes('grape');
console.log(hasGrape); // false

includesメソッドは、要素が存在する場合はtrue、存在しない場合はfalseを返します。

●配列の要素数取得

配列内の要素数を知ることは、多くの場面で必要になります。

JavaScriptでは、lengthプロパティを使用して簡単に要素数を取得できます。

const fruits = ['apple', 'banana', 'cherry', 'date'];
console.log(fruits.length); // 4

const emptyArray = [];
console.log(emptyArray.length); // 0

lengthプロパティは、配列内の要素数を返します。空の配列の場合、lengthは0になります。

まとめ

この記事では、JavaScriptにおける配列操作の基本的な方法を詳しく解説しました。

配列の宣言から始まり、要素の追加・削除、配列の結合、要素の検索、ループ処理、初期化、存在チェック、そして要素数の取得まで、幅広いトピックをカバーしてきました。

JavaScriptの配列操作に関する知識を深めるためには、実際にコードを書いて試してみることが大切です。

この記事で紹介した方法を実践し、自分のプロジェクトに応用してみてください。

適切に経験を積むことで、より効果的な配列操作ができるようになるでしょう。