Higher-Order Functions¶
Higher-order functions take functions as arguments or return functions.
Map¶
Transform each element of an array:
let numbers = [1, 2, 3, 4, 5];
let doubled = map(numbers, |x| => { return x * 2; });
print doubled; // [2, 4, 6, 8, 10]
Filter¶
Keep only elements that match a condition:
let numbers = [1, 2, 3, 4, 5, 6, 7, 8];
let evens = filter(numbers, |x| => { return x % 2 == 0; });
print evens; // [2, 4, 6, 8]
Reduce¶
Combine elements into a single value:
let numbers = [1, 2, 3, 4, 5];
let sum = reduce(numbers, 0, |acc, x| => { return acc + x; });
print sum; // 15