JavaScript arrays are like the unsung heroes of coding, and we're about to unleash their superpowers! π¦ΈββοΈ Today, we're diving deep into the secrets of three mighty methods: map, reduce, and filter.
map is your artistic brush, painting a new array by transforming each element.
const originalArray = [1, 2, 3, 4, 5];
const newArray = originalArray.map((value, index, array) => value * 2);
console.log(newArray);[2, 4, 6, 8, 10]- The
mapenchantment gracefully dances through each element. - A symphony of transformations creates a stunning new array.
reduce transforms an array into a majestic singular value, with the power to set a starting point.
const numbers = [1, 2, 3, 4, 5];
const resultObject = numbers.reduce((accumulator, number) => {
accumulator[number] = (accumulator[number] || 0) + 1;
return accumulator;
}, {});
console.log(resultObject);{ '1': 2, '2': 3, '3': 2, '4': 3, '5': 2 }- An empty cauldron (
{}) sets the stage for the alchemical process. - Each number is stirred into the mix, concocting a magical potion of frequencies.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, value) => accumulator + value, 0);
console.log(sum);15- A starting potion (
0) initiates the mystical brewing. - The potion gathers its elements, summing them into a powerful elixir.
reduce is your magic wand, shaping data realms at your command.
filter conjures a new array, gathering only elements that pass a mystical test.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((value, index, array) => value % 2 === 0);
console.log(evenNumbers);[2, 4]- The
filterspell evaluates each element. - Only the chosen ones (even numbers in this tale) are summoned into the enchanted array.
-
Immutable Operations:
- These methods are your coding guardians, creating a new array for experimentation, leaving the original untouched. It's like crafting a clone, keeping the original safe and sound.
-
Chaining Methods:
- String these methods together like a united team, weaving complex operations step by step. It makes your code more comprehensible and controlled.
const transformedArray = originalArray
.map((value) => value * 2) // Double each value
.filter((value) => value > 5) // Keep only values greater than 5
.reduce((sum, value) => sum + value, 0); // Add them upEmbrace these array methods like a β¨ superpower β¨, making your coding journey more enjoyable and efficient.
| Method | Number of Arguments | Arguments | Number of Arguments for Function | Arguments for Function | Return Type | Description |
|---|---|---|---|---|---|---|
.map |
1 | function |
3 | value, index, array |
Array |
Transforms each element. |
.reduce |
2 | function, initialValue |
4 | accumulator, value, index, array |
any |
Aggregates values. |
.filter |
1 | function |
3 | value, index, array |
Array |
Selects specific elements. |
May your coding adventures be filled with magical arrays!
π
Thank you for being a part of this coding quest. Your journey is the heartbeat of these words. Whether you found information, inspiration, or just enjoyed the content, your presence is treasured. Writing is a shared adventure, and I'm grateful to have you as a fellow traveler. Cheers to the joy of discovery and exploration! π
If you found the article delightful, consider showering it with more stars!
With appreciation,
Pugazharasan C