The Wayback Machine - https://web.archive.org/web/20211008103602/https://www.geeksforgeeks.org/javascript-array-flatmap/amp/

JavaScript | array.flatMap()

The array.flatMap() is an inbuilt function in JavaScript which is used to flatten the input array element into a new array. 
This method first of all map every element with the help of mapping function, then flattens the input array element into a new array. 
Syntax: 
 

var A = array.flatMap(function callback(current_value, index, Array))
{
    // It returns the new array's elements.
}

Parameters: 
 

Hey geek! The constant emerging technologies in the world of web development always keeps the excitement for this subject through the roof. But before you tackle the big projects, we suggest you start by learning the basics. Kickstart your web development journey by learning JS concepts with our JavaScript Course. Now at it's lowest price ever!

  1. current_value: It is the input array elements.
  2. index:
    • It is optional.
    • It is the index of the input element.
  3. Array: 
    • It is optional.
    • It is used when array map is called.

Return Values: It returns a new array whose elements are the return value of the callback function. 
JavaScript code to show the functionality of the above function: 
Code #1:




<script>
 
// Taking input as an array A having some elements.
var A = [ 1, 2, 3, 4, 5 ];
 
// Mapping with map function.
b = A.map(x => [x * 3]);
document.write(b);
 
// Mapping and flatting with flatMap() function.
c = arr1.flatMap(x => [x * 3]);
document.write(c);
 
// Mapping and flatting with flatMap() function.
d = arr1.flatMap(x => [[ x * 3 ]]);
document.write(d);
</script>

Output: 
 

[[3], [6], [9], [12], [15]]
[3, 6, 9, 12, 15]
[[3], [6], [9], [12], [15]]

Code #2: This flatting can also be done with the help of reduce and concat. 
 




<script>
 
// Taking input as an array A having some elements.
var A = [ 1, 2, 3, 4, 5 ];
array.flatMap(x => [x * 3]);
 
// is equivalent to
b = A.reduce((acc, x) => acc.concat([ x * 3 ]), []);
document.write(b);
</script>

Output: 
 

[3, 6, 9, 12, 15]

Supported Browser:

Note: This function is available in Firefox Nightly only.
 

Article Tags :