第7章 配列
配列の基本
配列の宣言と初期化
let fruits = ["apple", "orange", "banana"];
console.log(fruits[0]); // "apple"
要素の追加と取得
fruits[3] = "grape";
console.log(fruits[3]); // "grape"
配列の長さ
console.log(fruits.length); // 4
配列の操作
末尾に要素を追加
fruits.push("cherry");
console.log(fruits); // ["apple", "orange", "banana", "grape", "cherry"]
末尾の要素を取り除く
fruits.pop();
console.log(fruits); // ["apple", "orange", "banana", "grape"]
先頭に要素を追加
fruits.unshift("kiwi");
console.log(fruits); // ["kiwi", "apple", "orange", "banana", "grape"]
先頭の要素を取り除く
fruits.shift();
console.log(fruits); // ["apple", "orange", "banana", "grape"]
配列の反復処理
forEachを使った繰り返し
fruits.forEach(function(fruit) {
console.log(fruit);
});
配列の検索とフィルタリング
要素の検索
let index = fruits.indexOf("banana");
console.log(index); // 2
条件に合致する要素の検索
let found = fruits.find(fruit => fruit.length > 5);
console.log(found); // "orange"
配列の変形
mapを使った配列の変形
let lengths = fruits.map(fruit => fruit.length);
console.log(lengths); // [5, 6, 6, 5]
filterを使った要素のフィルタリング
let longFruits = fruits.filter(fruit => fruit.length > 5);
console.log(longFruits); // ["orange", "banana"]
配列と文字列の相互変換
配列を文字列に変換
let fruits = ["apple", "orange", "banana"];
let fruitStr = fruits.join(", ");
console.log(fruitStr); // "apple, orange, banana"
文字列を配列に変換
let animals = "cat,dog,rabbit";
let animalArray = animals.split(", ");
console.log(animalArray); // ["cat", "dog", "rabbit"]
配列の逆順とソート
配列の要素を逆順に
let numbers = [1, 2, 3, 4];
numbers.reverse();
console.log(numbers); // [4, 3, 2, 1]
配列のソート
fruits.sort();
console.log(fruits); // ["apple", "banana", "grape", "orange"]
カスタム比較関数を使用してのソート
let numbers = [10, 5, 40, 25, 100];
numbers.sort((a, b) => a - b); // 昇順にソート
console.log(numbers); // [5, 10, 25, 40, 100]
配列の結合と切り出し
配列の結合
let vegetables = ["carrot", "broccoli"];
let foods = fruits.concat(vegetables);
console.log(foods); // ["apple", "orange", "banana", "grape", "carrot", "broccoli"]
配列のスライス
let subFruits = fruits.slice(1, 3);
console.log(subFruits); // ["orange", "banana"]
配列の中の配列(2次元配列)
2次元配列の宣言とアクセス
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[1][2]); // 6
スプレッド構文を利用した配列操作
スプレッド構文を使った配列のコピーと結合
let matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[1][2]); // 6
その他のメソッド
配列内の要素の存在確認
let colors = ["red", "blue", "yellow"];
console.log(colors.includes("blue")); // true
console.log(colors.includes("green")); // false
一部の要素が条件を満たすか
let numbers = [1, 3, 5, 7, 9];
console.log(numbers.some(num => num % 2 === 0)); // false (偶数はない)
すべての要素が条件を満たすか
console.log(numbers.every(num => num % 2 !== 0)); // true (すべて奇数)
練習問題1.
以下の配列の要素の合計を計算して、結果を出力してください。
let numbers = [5, 7, 2, 9, 4];
練習問題2.
以下の配列から、最も長い文字列を見つけて出力してください。
let fruits = ["apple", "banana", "cherry", "pineapple", "grape"];
練習問題3.
以下の2つの配列を逆の順番にして、1つの配列に結合してください。その後、結果を出力してください。
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];