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

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