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:

    callback: This is the function that produces an element for the new array with the help of three arguments, given below:

    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:

filter_none

edit
close

play_arrow

link
brightness_4
code

<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>

chevron_right


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.

filter_none

edit
close

play_arrow

link
brightness_4
code

<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>

chevron_right


Output:

[3, 6, 9, 12, 15]

Note: This function is available in Firefox Nightly only.



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.