はじめに

編集

配列は、プログラミングにおいて複数のデータを効率的に扱うための重要なデータ構造です。配列の要素を一つずつ処理するためには、反復構造を使用します。この章では、JavaScriptとRubyにおける配列の反復処理について学び、具体的なコード例を通じてその使い方を習得します。

配列とは

編集

配列は、複数の値を順序付けて格納するデータ構造です。各要素にはインデックス(番号)が割り当てられ、インデックスを使って要素にアクセスします。

JavaScriptの例

編集
const fruits = ["Apple", "Banana", "Orange"];
console.log(fruits[0]); // "Apple"

Rubyの例

編集
fruits = ["Apple", "Banana", "Orange"]
puts fruits[0] # "Apple"

配列の反復処理

編集

配列の各要素に対して処理を行うためには、反復構造を使用します。主な方法として、以下のような方法があります。

forループ

編集

forループは、インデックスを使って配列の要素を順番に処理します。

JavaScriptの例

編集
const fruits = ["Apple", "Banana", "Orange"];
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

Rubyの例

編集
fruits = ["Apple", "Banana", "Orange"]
for i in 0...fruits.length
    puts fruits[i]
end

for...ofループ(JavaScript) / for...inループ(Ruby)

編集

JavaScriptのfor...ofループやRubyのfor...inループは、インデックスを使わずに直接要素にアクセスします。

JavaScriptの例

編集
const fruits = ["Apple", "Banana", "Orange"];
for (const fruit of fruits) {
    console.log(fruit);
}

Rubyの例

編集
fruits = ["Apple", "Banana", "Orange"]
for fruit in fruits
    puts fruit
end

forEachメソッド(JavaScript) / eachメソッド(Ruby)

編集

配列の各要素に対して関数を適用するためのメソッドです。JavaScriptではforEach、Rubyではeachを使用します。

JavaScriptの例

編集
const fruits = ["Apple", "Banana", "Orange"];
fruits.forEach(function(fruit) {
    console.log(fruit);
});

Rubyの例

編集
fruits = ["Apple", "Banana", "Orange"]
fruits.each do |fruit|
    puts fruit
end

mapメソッド

編集

mapメソッドは、配列の各要素に対して関数を適用し、新しい配列を生成します。

JavaScriptの例

編集
const numbers = [1, 2, 3];
const doubled = numbers.map(function(num) {
    return num * 2;
});
console.log(doubled); // [2, 4, 6]

Rubyの例

編集
numbers = [1, 2, 3]
doubled = numbers.map { |num| num * 2 }
puts doubled.inspect # [2, 4, 6]

filterメソッド

編集

filterメソッドは、条件に合致する要素だけを抽出して新しい配列を生成します。

JavaScriptの例

編集
const numbers = [1, 2, 3, 4, 5];
const evens = numbers.filter(function(num) {
    return num % 2 === 0;
});
console.log(evens); // [2, 4]

Rubyの例

編集
numbers = [1, 2, 3, 4, 5]
evens = numbers.select { |num| num % 2 == 0 }
puts evens.inspect # [2, 4]

応用例

編集

配列の反復処理を活用することで、さまざまな処理を効率的に実装できます。

配列の合計値を計算

編集

JavaScriptの例

編集
const numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach(function(num) {
    sum += num;
});
console.log(sum); // 15

Rubyの例

編集
numbers = [1, 2, 3, 4, 5]
sum = 0
numbers.each { |num| sum += num }
puts sum # 15

配列の最大値を見つける

編集

JavaScriptの例

編集
const numbers = [10, 20, 30, 40, 50];
let max = numbers[0];
numbers.forEach(function(num) {
    if (num > max) {
        max = num;
    }
});
console.log(max); // 50

Rubyの例

編集
numbers = [10, 20, 30, 40, 50]
max = numbers[0]
numbers.each { |num| max = num if num > max }
puts max # 50

練習問題

編集
  1. forループ: 配列[1, 2, 3, 4, 5]の各要素を2倍にして新しい配列を作成するプログラムをJavaScriptとRubyで作成してください。
  2. forEach / each: 配列["apple", "banana", "cherry"]の各要素を大文字に変換して表示するプログラムをJavaScriptとRubyで作成してください。
  3. map: 配列[10, 20, 30]の各要素を3倍にした新しい配列を作成するプログラムをJavaScriptとRubyで作成してください。
  4. filter / select: 配列[5, 12, 8, 130, 44]から10より大きい要素だけを抽出するプログラムをJavaScriptとRubyで作成してください。

まとめ

編集

配列の反復処理は、プログラミングにおいて非常に重要なスキルです。JavaScriptとRubyでは、forループやforEach/eachメソッド、mapメソッド、filter/selectメソッドなど、さまざまな方法で配列の要素を処理できます。これらの方法を適切に使い分けることで、効率的で読みやすいコードを書くことができます。