DEV Community

Madhan Raj
Madhan Raj

Posted on

JavaScript Array Iterations

JavaScript Array Iterations

Array Iteration Methods
Array iteration methods operate on every array item.

Array forEach
Array map()
Array flatMap()
Array filter()
Array reduce()
Array reduceRight()
Array every()
Array some()
Array from()
Array keys()
Array entries()
Array with()
Array Spread (...)
Array Rest (...)

JavaScript Array forEach()

The forEach() method calls a function (a callback function) once for each array element.
Example

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt += value + "<br>";
} 
Enter fullscreen mode Exit fullscreen mode

Note that the function takes 3 arguments:

The item value
The item index
The array itself
Enter fullscreen mode Exit fullscreen mode

The example above uses only the value parameter. The example can be rewritten to:
Example

const numbers = [45, 4, 9, 16, 25];
let txt = "";
numbers.forEach(myFunction);

function myFunction(value) {
  txt += value + "<br>";
}

Enter fullscreen mode Exit fullscreen mode

JavaScript Array map()

The map() method creates a new array by performing a function on each array element.

The map() method does not execute the function for array elements without values.

The map() method does not change the original array.

This example multiplies each array value by 2:
Example

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value, index, array) {
  return value * 2;
}

Enter fullscreen mode Exit fullscreen mode

Note that the function takes 3 arguments:

The item value
The item index
The array itself
Enter fullscreen mode Exit fullscreen mode

When a callback function uses only the value parameter, the index and array parameters can be omitted:
Example

const numbers1 = [45, 4, 9, 16, 25];
const numbers2 = numbers1.map(myFunction);

function myFunction(value) {
  return value * 2;
}

Enter fullscreen mode Exit fullscreen mode

JavaScript Array flatMap()

ES2019 added the Array flatMap() method to JavaScript.

The flatMap() method first maps all elements of an array and then creates a new array by flattening the array.
Example

const myArr = [1, 2, 3, 4, 5, 6];
const newArr = myArr.flatMap(x => [x, x * 10]);

Enter fullscreen mode Exit fullscreen mode

JavaScript Array filter()

The filter() method creates a new array with array elements that pass a test.

This example creates a new array from elements with a value larger than 18:
Example

const numbers = [45, 4, 9, 16, 25];
const over18 = numbers.filter(myFunction);

function myFunction(value, index, array) {
  return value > 18;
} 

Enter fullscreen mode Exit fullscreen mode

JavaScript Array reduce()

The reduce() method runs a function on each array element to produce a single value.

The reduce() method works from left-to-right in the array. See also reduceRight().

The reduce() method does not reduce the original array.

This example finds the sum of all numbers in an array:
Example

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
} 

Enter fullscreen mode Exit fullscreen mode

Note that the function takes 4 arguments:

The total (the initial value / previously returned value)
The item value
The item index
The array itself
Enter fullscreen mode Exit fullscreen mode

Since the example above does not use the index and array parameters, it can be rewritten to:
Example

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduce(myFunction);

function myFunction(total, value) {
  return total + value;
} 

Enter fullscreen mode Exit fullscreen mode

JavaScript Array reduceRight()

The reduceRight() method runs a function on each array element to produce a single value.

The reduceRight() works from right-to-left in the array. See also reduce().

The reduceRight() method does not reduce the original array.

This example finds the sum of all numbers in an array:
Example

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduceRight(myFunction);

function myFunction(total, value, index, array) {
  return total + value;
}

Enter fullscreen mode Exit fullscreen mode

Note that the function takes 4 arguments:

The total (the initial value / previously returned value)
The item value
The item index
The array itself
Enter fullscreen mode Exit fullscreen mode

The example above does not use the index and array parameters. It can be rewritten to:
Example

const numbers = [45, 4, 9, 16, 25];
let sum = numbers.reduceRight(myFunction);

function myFunction(total, value) {
  return total + value;
} 

Enter fullscreen mode Exit fullscreen mode

JavaScript Array every()

The every() method checks if all array values pass a test.

This example checks if all array values are larger than 18:
Example

const numbers = [45, 4, 9, 16, 25];
let allOver18 = numbers.every(myFunction);

function myFunction(value, index, array) {
  return value > 18;
} 

Enter fullscreen mode Exit fullscreen mode

JavaScript Array some()

The some() method checks if some array values pass a test.

This example checks if some array values are larger than 18:
Example

const numbers = [45, 4, 9, 16, 25];
let someOver18 = numbers.some(myFunction);

function myFunction(value, index, array) {
  return value > 18;
} 

Enter fullscreen mode Exit fullscreen mode

JavaScript Array.from()

The Array.from() method returns an Array object from:

Any iterable object

Any object with a length property
Enter fullscreen mode Exit fullscreen mode

Example

Create an Array from a String:
let text = "ABCDEFG";
Array.from(text);

Enter fullscreen mode Exit fullscreen mode

JavaScript Array Spread (...)

The ... operator expands an array into individual elements.

This can be used join arrays:
Example 1

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];

const arr3 = [...arr1, ...arr2];

Enter fullscreen mode Exit fullscreen mode

In the example above, ...arr1 expands arr1 into single elements, ...arr2 expands arr2 into single elements, and arr3 is constructed using ...arr1 and ...arr2.
Example 2

const q1 = ["Jan", "Feb", "Mar"];
const q2 = ["Apr", "May", "Jun"];
const q3 = ["Jul", "Aug", "Sep"];
const q4 = ["Oct", "Nov", "Des"];

const year = [...q1, ...q2, ...q3, ...q4];
Enter fullscreen mode Exit fullscreen mode

The spread operator (...) can be used to copy an array:
Example 3

const arr1 = [1, 2, 3];
const arr2 = [...arr1];

Enter fullscreen mode Exit fullscreen mode

The spread operator (...) can be used to pass arguments to a function:
Example 4

const numbers = [23,55,21,87,56];
let minValue = Math.min(...numbers);
let maxValue = Math.max(...numbers);
Enter fullscreen mode Exit fullscreen mode

Reference
https://www.w3schools.com/js/js_array_iteration.asp

Top comments (0)