JavaScript 配列

JavaScript Array(配列)

JavaScript Array(配列): 详解及使用方法

この文章では、JavaScriptにおける配列について、基本から応用まで詳しく解説します。配列の作成、アクセス、操作、反復処理、ソート、検索など、一般的なメソッドについて、実例を交えながら分かりやすく説明し、JavaScript配列の使用方法を容易に習得できるようにします。

1. JavaScript 配列とは?

  • 配列の定義:順序付けられたデータの集合を格納するオブジェクトです。
  • 配列の特徴:異なる型のデータを格納でき、動的にサイズを変更することができ、数値のインデックスを使用して要素にアクセスできます。

2. JavaScript 配列の作成

  • 配列リテラル:`[要素1, 要素2, ...]`
  • コンストラクタ関数:`new Array(要素1, 要素2, ...)` または `new Array(配列の長さ)`

例:数値、文字列、オブジェクトを含む配列を作成する。


let numbers = [1, 2, 3, 4, 5];
let fruits = ["apple", "banana", "orange"];
let mixedArray = [10, "hello", {name: "John", age: 30}];

3. 配列要素へのアクセス

  • インデックスによるアクセス:`array[index]`、インデックスは0から始まります。
  • 配列の長さへのアクセス:`array.length`

例:配列の最初の要素、最後の要素、および配列の長さを取得する。


let fruits = ["apple", "banana", "orange"];

let firstFruit = fruits[0]; // "apple"
let lastFruit = fruits[fruits.length - 1]; // "orange"
let arrayLength = fruits.length; // 3

4. JavaScript 配列メソッド

4.1 要素の追加/削除

  • `push()`: 配列の末尾に1つ以上の要素を追加します。
  • `pop()`: 配列の末尾の要素を削除し、その要素を返します。
  • `unshift()`: 配列の先頭に1つ以上の要素を追加します。
  • `shift()`: 配列の先頭の要素を削除し、その要素を返します。
  • `splice()`: 配列の指定された位置に要素を追加または削除します。

4.2 配列の反復処理

  • `forEach()`: 配列の各要素に対して、コールバック関数を1回ずつ実行します。
  • `map()`: 元の配列の各要素に対してコールバック関数を呼び出し、その結果からなる新しい配列を作成します。
  • `filter()`: コールバック関数で指定された条件に一致する要素だけを含む新しい配列を作成します。
  • `reduce()`: 配列の各要素に対してコールバック関数を呼び出し、単一の値に集約します。

4.3 配列のソート

  • `sort()`: 配列の要素をソートします。デフォルトではアルファベット順にソートされます。
  • `reverse()`: 配列の要素の順番を逆順にします。

4.4 配列の検索

  • `indexOf()`: 配列内で指定された要素が最初に現れるインデックスを返します。存在しない場合は-1を返します。
  • `lastIndexOf()`: 配列内で指定された要素が最後に現れるインデックスを返します。存在しない場合は-1を返します。
  • `includes()`: 配列が指定された要素を含むかどうかを判断し、ブール値を返します。

4.5 その他のよく使用されるメソッド

  • `concat()`: 2つ以上の配列を連結し、新しい配列を返します。
  • `slice()`: 配列の一部を抽出し、新しい配列を返します。
  • `join()`: 配列のすべての要素を連結して1つの文字列にします。
  • `toString()`: 配列を文字列に変換します。

5. イテレータメソッド

  • `keys()`: 配列のインデックスを含む新しいイテレータオブジェクトを返します。
  • `values()`: 配列の値を含む新しいイテレータオブジェクトを返します。
  • `entries()`: 配列の各インデックスとその値のペアを含む新しいイテレータオブジェクトを返します。
  • for...ofループを使用してイテレータを反復処理できます。

6. 配列の静的メソッド

  • `Array.from()`: 類似配列オブジェクトまたは反復可能オブジェクトから新しい配列インスタンスを作成します。
  • `Array.isArray()`: 渡された値が配列かどうかを判断します。
  • `Array.of()`: 引数で渡されたものから新しい配列インスタンスを作成します。

7. JavaScript 配列の応用例

  • 配列内の最大値と最小値を見つける。
  • 配列から重複した要素を削除する。
  • 多次元配列を一元配列に平坦化する。

例:配列から重複した要素を削除する


function removeDuplicates(array) {
  return array.filter((item, index) => array.indexOf(item) === index);
}

let numbers = [1, 2, 2, 3, 4, 4, 5];
let uniqueNumbers = removeDuplicates(numbers); // [1, 2, 3, 4, 5]

まとめ

この記事では、JavaScript配列の基本から応用までを解説しました。配列の作成、アクセス、操作、反復処理、ソート、検索など、様々な操作を学ぶことで、JavaScriptで効率的にデータを処理することができます。

JavaScript配列に関するQ&A

Q1. JavaScriptで配列を宣言するにはどうすればよいですか?

A1. JavaScriptで配列を宣言するには、角括弧([])を使用します。例えば、以下のように記述します。


let myArray = []; // 空の配列を宣言
let fruits = ["apple", "banana", "orange"]; // 要素を持つ配列を宣言

Q2. JavaScriptの配列に要素を追加するにはどうすればよいですか?

A2. JavaScriptの配列に要素を追加するには、`push()`メソッド、`unshift()`メソッド、`splice()`メソッドなどを使用できます。

メソッド 説明
`push()` 配列の末尾に要素を追加します。
`unshift()` 配列の先頭に要素を追加します。
`splice()` 指定したインデックスに要素を追加します。

Q3. JavaScriptで配列の長さを取得するにはどうすればよいですか?

A3. JavaScriptで配列の長さを取得するには、`length`プロパティを使用します。例えば、以下のように記述します。


let fruits = ["apple", "banana", "orange"];
let arrayLength = fruits.length; // 3