
Photo by
golchiki
JavaとRubyを用いた比較で理解するJavaScriptのmapメソッドの使い方
この文章では、RubyのArray#each、JavaScriptのArray#map、JavaのMapについて簡単に比較し、それぞれの違いを説明します。
それぞれの違い
RubyのArray#each
RubyのArray#eachは、配列の各要素に対して指定したブロックを実行しますが、新しい配列は返しません。
numbers = [1, 2, 3, 4, 5]
numbers.each do |number|
puts number * 2
end
このコードでは、配列の各要素が2倍されて表示されます。
JavaScriptのArray#map
JavaScriptのArray#mapは、配列の各要素に対して指定した関数を実行し、新しい配列を返します。
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(number => number * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
このコードでは、配列の各要素が2倍され、新しい配列が返されます。
JavaのMap
JavaのMapはキーと値のペアを保持するデータ構造です。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
このコードでは、キーと値のペアを保持し、それぞれのペアを出力します。
比較と結論
RubyのArray#eachとJavaScriptのArray#mapの違い:
Array#eachは配列を変更せず、各要素に対して操作を行います。
Array#mapは新しい配列を返します。
JavaのMapとの違い:
Mapはキーと値のペアを管理し、配列操作とは異なります。
まとめると、Array#eachとArray#mapは配列操作に使われ、Mapはキーと値のデータ管理に使われます。それぞれの用途に応じて使い分けることが重要です。