The map() method creates a new array populated with the results of calling a provided function on every element in the calling array. It's a functional programming technique that allows you to transform each element of an array into a new element, producing a new array without modifying the original one.
let newArray = array.map(function callback(currentValue, index, array) { // Return element for newArray }, thisArg);
Or, using arrow functions:
let newArray = array.map((currentValue, index, array) => { // Return element for newArray });
A new array with each element being the result of the callback function.
Example: Multiply each number in an array by 2.
const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map(number => number * 2); console.log(doubled); // Output: [2, 4, 6, 8, 10]
Example: Convert an array of strings to uppercase.
const fruits = ['apple', 'banana', 'cherry']; const upperFruits = fruits.map(fruit => fruit.toUpperCase()); console.log(upperFruits); // Output: ['APPLE', 'BANANA', 'CHERRY']
Example: Extract a specific property from an array of objects.
const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, ]; const names = users.map(user => user.name); console.log(names); // Output: ['Alice', 'Bob']
Example: Transform each object in an array.
const products = [ { productId: 1, price: 100 }, { productId: 2, price: 200 }, ]; const discountedProducts = products.map(product => ({ ...product, price: product.price * 0.9, })); console.log(discountedProducts); // Output: // [ // { productId: 1, price: 90 }, // { productId: 2, price: 180 }, // ]
Example with forEach():
let newArray = array.map(function callback(currentValue, index, array) { // Return element for newArray }, thisArg);
Arrow functions provide a concise syntax for writing the callback function.
Example:
let newArray = array.map((currentValue, index, array) => { // Return element for newArray });
TypeScript adds static typing to JavaScript, which can help catch errors at compile time.
You can specify types for the elements in the array and the return type.
Example:
const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map(number => number * 2); console.log(doubled); // Output: [2, 4, 6, 8, 10]
You can define generic functions to work with any type.
Example:
const fruits = ['apple', 'banana', 'cherry']; const upperFruits = fruits.map(fruit => fruit.toUpperCase()); console.log(upperFruits); // Output: ['APPLE', 'BANANA', 'CHERRY']
You can chain map() with other array methods like filter(), reduce(), etc.
Example:
const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, ]; const names = users.map(user => user.name); console.log(names); // Output: ['Alice', 'Bob']
map() does not handle asynchronous operations inside the callback. If you need to perform asynchronous operations, consider using Promise.all() with map().
Example:
const products = [ { productId: 1, price: 100 }, { productId: 2, price: 200 }, ]; const discountedProducts = products.map(product => ({ ...product, price: product.price * 0.9, })); console.log(discountedProducts); // Output: // [ // { productId: 1, price: 90 }, // { productId: 2, price: 180 }, // ]
Understanding the map() function is essential for effective array manipulation in JavaScript and TypeScript. It's a versatile method that allows you to transform data cleanly and efficiently. Remember that map():
By mastering map(), you'll write more concise and functional code, leading to better maintainability and readability.
Thank you for reading. If you love this content, feel free to buy me a coffee:
https://buymeacoffee.com/kellyblaire
The above is the detailed content of Understanding JavaScript Array map() Method. For more information, please follow other related articles on the PHP Chinese website!