JavaScript provides powerful array methods that simplify operations on arrays. Among these, map, filter, and reduce are three essential higher-order functions that every developer should understand.
The map method creates a new array by transforming each element of an existing array using a callback function.
array.map(callback(currentValue[, index[, array]])[, thisArg]);
const numbers = [1, 2, 3, 4]; const squared = numbers.map(function(number) { return number * number; }); console.log(squared); // Output: [1, 4, 9, 16]
The filter method creates a new array containing only the elements that pass a test implemented by the provided callback function.
array.filter(callback(element[, index[, array]])[, thisArg]);
const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(function(number) { return number % 2 === 0; }); console.log(evenNumbers); // Output: [2, 4]
The reduce method applies a function to an accumulator and each element of the array (from left to right), reducing it to a single value.
array.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue]);
const numbers = [1, 2, 3, 4]; const sum = numbers.reduce(function(accumulator, currentValue) { return accumulator + currentValue; }, 0); console.log(sum); // Output: 10
These methods can be combined to perform complex operations.
const numbers = [1, 2, 3, 4, 5]; const total = numbers .filter(function(number) { return number % 2 === 0; // Keep even numbers }) .map(function(number) { return number * number; // Square the numbers }) .reduce(function(accumulator, currentValue) { return accumulator + currentValue; // Sum the squares }, 0); console.log(total); // Output: 20
Method | Purpose | Return Value |
---|---|---|
map | Transforms each element | A new array of the same length |
filter | Filters elements | A new array with fewer or equal items |
reduce | Reduces array to a single value | A single accumulated result |
Mastering map, filter, and reduce will elevate your JavaScript skills and make your code cleaner and more efficient.
Hi, I'm Abhay Singh Kathayat!
I am a full-stack developer with expertise in both front-end and back-end technologies. I work with a variety of programming languages and frameworks to build efficient, scalable, and user-friendly applications.
Feel free to reach out to me at my business email: kaashshorts28@gmail.com.
The above is the detailed content of Mastering Array Methods in JavaScript: map, filter, and reduce. For more information, please follow other related articles on the PHP Chinese website!