PORTFOLIO & WEB DESIGN MEMORANDOM BLOG   
PORTFOLIO & WEB DESIGN MEMORANDOM BLOG   

【JAVASCRIPT】JavaScriptの配列について


配列とは

配列は複数の値を一つの変数に格納できるデータ構造です。配列内のそれぞれの値は「要素」と呼ばれ、インデックス(配列の位置)でアクセスできます。インデックスは0から始まります。

配列の宣言と初期化する方法

空の配列を宣言する

  1. let array = [];

値を含む配列を宣言する

  1. let array = [1, 2, 3, 4, 5];

Arrayコンストラクタを使用して宣言する

  1. let array = new Array();
  2. let arrayWithValues = new Array(1, 2, 3, 4, 5);

Array コンストラクタを使用する場合の注意点

Array コンストラクタは、引数が1つだけの場合、それを配列の長さとして解釈します。そのため、例えば new Array(3) とすると、3つの空の要素を持つ配列が作成されます。
引数が2つ以上の場合、それらは配列の要素として解釈されます。

  1. let singleValueArray = new Array(5);
  2. console.log(singleValueArray); // [ <5 empty items> ]
  3. console.log(singleValueArray.length); // 5
  4. let multipleValuesArray = new Array(5, 10, 15);
  5. console.log(multipleValuesArray); // [5, 10, 15]

配列の操作について

要素のアクセス

  1. let array = [1, 2, 3, 4, 5];
  2. console.log(array[0]); // 1
  3. console.log(array[3]); // 4

要素の変更

  1. let array = [1, 2, 3, 4, 5];
  2. array[2] = 10;
  3. console.log(array); // [1, 2, 10, 4, 5]

要素の追加

末尾に追加:push

  1. let array = [1, 2, 3];
  2. array.push(4);
  3. console.log(array); // [1, 2, 3, 4]

先頭に追加:unshift

  1. let array = [1, 2, 3];
  2. array.unshift(0);
  3. console.log(array); // [0, 1, 2, 3]

要素の削除

末尾から削除:pop

  1. let array = [1, 2, 3];
  2. array.pop();
  3. console.log(array); // [1, 2]

先頭から削除:shift

  1. let array = [1, 2, 3];
  2. array.shift();
  3. console.log(array); // [2, 3]

任意の位置の要素の削除と追加:splice

  1. let array = [1, 2, 3, 4, 5];
  2. array.splice(2, 1); // インデックス2の位置から1つの要素を削除
  3. console.log(array); // [1, 2, 4, 5]
  4. array.splice(2, 0, 3); // インデックス2の位置に値3を追加
  5. console.log(array); // [1, 2, 3, 4, 5]

その他の配列メソッド

lengthプロパティ:配列の要素数を取得

  1. let array = [1, 2, 3, 4, 5];
  2. console.log(array.length); // 5

indexOfメソッド:指定した値の最初のインデックスを取得

  1. let array = [1, 2, 3, 4, 5];
  2. console.log(array.indexOf(3)); // 2
  3. console.log(array.indexOf(6)); // -1(存在しない場合)

forEachメソッド:配列の各要素に対して関数を実行

  1. let array = [1, 2, 3, 4, 5];
  2. array.forEach(function(element) {
  3.     console.log(element);
  4. });
  5. // 1
  6. // 2
  7. // 3
  8. // 4
  9. // 5

mapメソッド:配列の各要素に対して関数を実行し、新しい配列を返す

  1. let array = [1, 2, 3, 4, 5];
  2. let newArray = array.map(function(element) {
  3.     return element * 2;
  4. });
  5. console.log(newArray); // [2, 4, 6, 8, 10]

配列の例

  1. // 配列の宣言と初期化
  2. let fruits = ['Apple', 'Banana', 'Orange'];
  3. // 要素のアクセス
  4. console.log(fruits[1]); // Banana
  5. // 要素の変更
  6. fruits[2] = 'Grape';
  7. console.log(fruits); // ['Apple', 'Banana', 'Grape']
  8. // 要素の追加
  9. fruits.push('Mango');
  10. console.log(fruits); // ['Apple', 'Banana', 'Grape', 'Mango']
  11. // 要素の削除
  12. fruits.pop();
  13. console.log(fruits); // ['Apple', 'Banana', 'Grape']
  14. // 配列の長さ
  15. console.log(fruits.length); // 3

配列を利用した実用的な例

買い物リストの管理プログラム

このプログラムでは、買い物リストにアイテムを追加したり、アイテムを削除したり、リストを表示したりします。

  1. // 初期の買い物リストを宣言
  2. let shoppingList = ['Milk', 'Bread', 'Eggs'];
  3. // リストを表示する関数
  4. function displayList() {
  5.     console.log("Shopping List:");
  6.     shoppingList.forEach(function(item, index) {
  7.         console.log(index + 1 + ": " + item);
  8.     });
  9. }
  10. // アイテムをリストに追加する関数
  11. function addItem(item) {
  12.     shoppingList.push(item);
  13.     console.log(item + " has been added to the list.");
  14. }
  15. // アイテムをリストから削除する関数
  16. function removeItem(index) {
  17.     if (index >= 0 && index < shoppingList.length) {
  18.         let removedItem = shoppingList.splice(index, 1);
  19.         console.log(removedItem + " has been removed from the list.");
  20.     } else {
  21.         console.log("Invalid index. Please enter a valid index.");
  22.     }
  23. }
  24. // プログラムの実行例
  25. // 初期のリストを表示
  26. displayList();
  27. // アイテムを追加
  28. addItem('Butter');
  29. displayList();
  30. // アイテムを削除(インデックスは0から始まることに注意)
  31. removeItem(2); // Eggsを削除
  32. displayList();
  33. // 無効なインデックスで削除を試みる
  34. removeItem(10); // 無効なインデックス

各関数の説明

1.displayList関数

現在の買い物リストを表示します。
forEachメソッドを使って、各アイテムとそのインデックスを出力しています。

2.addItem関数

リストに新しいアイテムを追加します。
pushメソッドを使って、新しいアイテムをリストの末尾に追加しています。

3.removeItem関数

指定したインデックスのアイテムをリストから削除します。
spliceメソッドを使って、指定したインデックスのアイテムを削除しています。
削除するインデックスが有効でない場合、エラーメッセージを表示します。

実行例の説明

初期のリスト([‘Milk’, ‘Bread’, ‘Eggs’])を表示します。
‘Butter’をリストに追加し、再度リストを表示します。
インデックス2(3番目)のアイテム(’Eggs’)をリストから削除し、再度リストを表示します。
無効なインデックス(10)で削除を試みると、エラーメッセージが表示されます。

MILMONA   MILMONA   MILMONA   MILMONA   MILMONA   
MILMONA   MILMONA   MILMONA   MILMONA   MILMONA