⚡ Functional
Functional Programming
map, filter, reduce — and what lambda syntax looks like in each language
Funktionale Konzepte sind in modernem Code universell. map/filter/reduce sind in Interviews oft eleganter als for-Loops.
Language:
Python
Loading...
All languages — map — Transform
JavaScript
const nums = [1, 2, 3, 4, 5];
const doubled = nums.map(x => x * 2);
// [2, 4, 6, 8, 10]
// Mit Index:
const withIndex = nums.map((x, i) => `${i}:${x}`);
// ["0:1", "1:2", ...]
console.log(doubled);TypeScript
const nums: number[] = [1, 2, 3, 4, 5];
const doubled: number[] = nums.map((x: number) => x * 2);
const strings: string[] = nums.map(x => x.toString());Java
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
// Stream + map:
List<Integer> doubled = nums.stream()
.map(x -> x * 2)
.collect(Collectors.toList());
// Mit toList() (Java 16+):
List<Integer> doubled2 = nums.stream()
.map(x -> x * 2)
.toList();
System.out.println(doubled);Go
// Go hat kein eingebautes map() — eigene Funktion oder Loop:
nums := []int{1, 2, 3, 4, 5}
doubled := make([]int, len(nums))
for i, x := range nums {
doubled[i] = x * 2
}
// Oder generische Hilfsfunktion (Go 1.21+):
// slices.Map existiert noch nicht — selbst schreiben:
fmt.Println(doubled)C++
#include <algorithm>
#include <vector>
vector<int> nums = {1, 2, 3, 4, 5};
// transform (in-place oder in neuen Vektor):
vector<int> doubled(nums.size());
transform(nums.begin(), nums.end(), doubled.begin(),
[](int x) { return x * 2; });
// Oder mit Range-based loop:
for (int& x : nums) x *= 2;