JavaScript flatmap
Posted by Superadmin on May 02 2023 14:00:30

JavaScript flatmap

JavaScript flatmap

Introduction to JavaScript flatmap

The flatMap() function in JavaScript is defined as map the elements and making the resultant mapping elements into a new array. This means it makes an into a single dimension array. flatMap() function return type is an array([]).

Example:

String[] flatMap=array.flatMap();

Where to Use?

Example:

  1. [3,4,5].map(x => [a, a-1])
    // [[3, 2], [4, 3], [5, 4]] //map gives values as it is in JavaScript
  2. [3,4,5].flatMap(x => [a, a-1])
    // [3, 2, 4, 3, 5, 4] // flatMap flatten all the values, can’t varied by key value pair (makes into a single dimensional array)

Difference between map(), flat(), and flatMap() Function

map() just maps the values, flat() function return the array as it is where as in flatMap() function returns single dimension array only.

How does flatMap() Work in JavaScript?

flatMap() can be worked in JavaScript by applying flatmap() function on any array then return type becomes an array([]).

Syntax:

array.flatMap(function callback(presentValue, position, arrayReference)) //lambda expression
{
//return array of elements
}

Examples to Implement JavaScript flatmap

Following are the examples to implement as given below:

Example #1 – flatmap() logic to division of elements

Code:

let arrayValues = [2, 4, 6, 8];
var out1=arrayValues.flat(x => x/2); //line 1
document.write("Flat Array =>"+out1+"<br>");
var out2=arrayValues.map(x => [x/2]);// line 2
document.write("Map Array =>"+out2+"<br>");
var out3=arrayValues.flatMap(x => [[x/2]]);//line 3
document.write("FlatMap Array =>"+out3);

Output:

JavaScript flatmap-1.1

Explanation:

Example #2 – flatMap() logic to spilt() a string

Code:

let stringArray = ["Hi Hello How are you", "Where are you?", "Amardeep"];
var strOut1=stringArray.map(a => a.split(" "));//line 1
document.write("Map String=> "+strOut1+"<br>");
var strOut2=stringArray.flatMap(a => a.split(" ")); //line 2
document.write("FlatMap String=>"+strOut2+"<br>");

Output:

JavaScript flatmap-1.2

Explanation:

Example #3 – flatMap() concatenating numbers with other array

Code:

var array = [4,5,6,7,8,9,10];
array.flatMap(a => [a,a-1]);
var concat=array.reduce((temp, a) => temp.concat([a, a-1]), []); //line 1
document.write("Flat Array Substraction values and concatenation=> "+concat+"<br>");

Output:

JavaScript flatmap-1.3

Explanation:

Example #4 – flatMap() printing multiples

Code:

var array = [1,2,3,4,5,6,7,8,9,10];
var flatMap=array.flatMap(a => a*2);//line 1
document.write("2 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*4);//line 2
document.write("4 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*6); //line 3
document.write("6 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*8); //line 4
document.write("8 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*10); //line 5
document.write("10 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*12); //line 6
document.write("12 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*14); //line 7
document.write("14 multiples:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a*16); //line 8
document.write("16 multiples:=>"+flatMap);

Output:

JavaScript flatmap-1.4

Explanation:

Example #5 – flatMap() with subtracting from an array

Code:

var array = [100,200,300,400,500,600,700,800,900,1000];
var flatMap=array.flatMap(a => a-1);//line 1
document.write("subtracting 1 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-2); //line 2
document.write("subtracting 2 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-3); //line 3
document.write("subtracting 3 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-4); //line 4
document.write("subtracting 4 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-5); //line 5
document.write("subtracting 5 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-6); //line 6
document.write("subtracting 6 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-7); //line 7
document.write("subtracting 7 from array:=>"+flatMap+"<br>");
var flatMap=array.flatMap(a => a-8); //line 8
document.write("subtracting 8 from array:=>"+flatMap+"<br>");

Output:

Output-1.5

Explanation:

Example #6 – flatMap with even, odd, negative, and zeros from an array

Code:

const array = [2,3,5,6,8,9,10,11,0,12,14,15,0,-1,-5,-6,-7,-9,0];
var evenNumbers=array.flatMap(array => {
return array%2==0 ? [array] : [] //line 1
})
document.write("Even numbers from an array=>"+evenNumbers+"<br>");
var oddNumbers=array.flatMap(array => {
return array%2==1 ? [array] : [] //line 2
})
document.write("Odd numbers from an array=>"+oddNumbers+"<br>");
var negativeNumbers=array.flatMap(array => {
return array<0 ? [array] : [] //line 3
})
document.write("Negative numbers from an array=>"+negativeNumbers+"<br>");
var zeroNumbers=array.flatMap(array => {
return array==0 ? [array] : [] //line 4
})
document.write("Zeros from an array=>"+zeroNumbers);

Output:

Output-1.6

Explanation:

Example #7 – flatMap with key value pair

Code:

var nameArray = ['Paramesh', 'Vivek','Amardeep','Venkatesh','Mahesh','Chinna' ];
var namesOut = nameArray.flatMap((names, position) => [names, position]); //line
document.write("Names Array=>"+namesOut+"<br>");
var companyArray = ['Verinon', 'EDUCBA','Oracle','IBM','Wipro','TCS' ];
var companyOut = companyArray.flatMap((company, position) => [company, position]);//line 2
document.write("Names Array=>"+companyOut+"<br>");
var coursesArray = ['Java', 'Python','C','C#','Spring','Servlets' ];
var coursesOut = nameArray.flatMap((courses, position) => [courses, position]);//line 3
document.write("Names Array=>"+coursesOut);

Output:

Output-1.7

Explanation: