Today you will learn:
map, filter, reducefind, some, everyBy the end, you will manipulate complex data structures with ease.
Using find, some, every:
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.find(n => n > 3)); // 4
console.log(numbers.some(n => n > 4)); // true
console.log(numbers.every(n => n > 0)); // true
Generators yield values lazily:
function* idGenerator() {
let id = 1;
while(true) yield id++;
}
const gen = idGenerator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
Flatten nested arrays using reduce:
const nested = [[1,2], [3,4], [5]];
const flat = nested.reduce((acc, val) => acc.concat(val), []);
console.log(flat); // [1,2,3,4,5]
function* idGenerator() {
let id = 1;
while(true) yield id++;
}
const gen = idGenerator();
console.log(gen.next().value);
console.log(gen.next().value);
Complete the following:
.reduce() to flatten a nested arrayExample:
// Generator for even numbers
function* evenNumbers() {
let n = 2;
while(true) yield n, n += 2;
}
const evGen = evenNumbers();
console.log(evGen.next().value); // 2
console.log(evGen.next().value); // 4
// Flatten nested array
const nested = [[1,2],[3,4],[5]];
const flat = nested.reduce((acc, val) => acc.concat(val), []);
console.log(flat); // [1,2,3,4,5]