Open In App

ES6 | Array forEach() Method

When working with arrays, it’s widespread to iterate through its elements and manipulate them. Traditionally this can be done using for, while or do-while loops. The forEach will call the function for each element in the array.
 

Syntax:  



array.forEach( callback, thisObject )

Parameter: This method accept only two parameter mentioned above and described below:  

Return: It returns the newly created array.
Without forEach() Loop: The first line declares and initialize a number array called array_1 with values [2, 3, 4, 5, 6]. To double every element of this array a for loop is used which runs from zero (because the index of an array starts from zero) to one less than the length of the array. Now on the third line, each element is extracted from the array and is multiplied by 2, hence doubling the values.
Program 1:  






<script>
var array_1 = [2, 3, 4, 5, 6];
for(var i = 0; i < array_1.length; i++) {
    array_1[i] *= 2;
}
document.write(array_1);
</script>

Output: 

4, 6, 8, 10, 12

With forEach() Loop: In ES6 a more easy to understand and use method is introduced for Arrays which is forEach(). Let’s see how it works for the same above situation. 
Program 2:  




<script>
var array_1 = [2, 3, 4, 5, 6];
array_1.forEach(function(number, i) {
    array_1[i] *= 2;
});
 
document.write(array_1);
</script>

Output: 

4, 6, 8, 10, 12

Same as previous, the first line declares and initialize a numbers array called array_1 with values [2, 3, 4, 5, 6]. Then on array_1 forEach method is called which iterates over the array and takes a callback function as an argument. Now the callback function accepts three arguments,  

So, we make use of the second argument that is index and follow the exact same algorithm as before to double the value. 
Program 3: Here we just use the currentValue argument using which we printout each of the values from names array to the console.  




<script>
var names = ['Arpan', 'Abhishek', 'GeeksforGeeks'];
 
names.forEach(function(name){
    document.write(name + "<br/>");
});
</script>

Output: 

Arpan
Abhishek
GeeksforGeeks

Article Tags :