Question 2

Question

Can you explain how to use Array.prototype.flatMap() for chaining map and flatten operations?

Answer

Array.prototype.flatMap() is designed exactly for this purpose – chaining map and flatten operations in a concise way.

Here's how it works:

  1. Map Phase: Similar to map(), flatMap() first applies a provided function to each element of the array. This function can transform each element into any type of value, including arrays themselves.

  2. Flatten Phase: The magic happens here! After mapping, flatMap() automatically flattens any nested arrays resulting from the map operation into a single, contiguous array.

Example:

const nestedArray = [[1, 2], [3, 4], [5]];

const flattenedArray = nestedArray.flatMap(subArray => subArray); // Flatten and combine

console.log(flattenedArray); // Output: [1, 2, 3, 4, 5]

Explanation:

  • nestedArray is our starting array of arrays.

  • flatMap(subArray => subArray): For each subArray in nestedArray, the provided function simply returns the subArray itself.

  • The flatMap() method then takes all these subArrays and merges them into a single, flattened array.

Benefits of Using flatMap():

  • Conciseness: It eliminates the need to manually flatten arrays after using map(), making your code more readable and compact.

  • Efficiency: It often performs better than manual flattening techniques because it's optimized for this specific task.

Last updated