Array Iteration Methods

Array Iteration Methods

Array iteration methods are built-in methods in JavaScript that allow us to perform specific actions on each element of an array. These methods provide a more concise and readable way to operate on arrays compared to traditional for loops.

There are several iteration methods available in JavaScript, including `for...of`, `forEach`, `map`, `filter`, and `reduce`. In this guide, we will explore each of these methods in detail.

The `for...of` Loop

  • The `for...of` loop is a newer addition to JavaScript that provides a simple way to iterate over the elements of an array.
  • It allows you to execute a block of code for each element in the array.

Here's an example of using the `for...of` loop to iterate over an array:

const numbers = [1, 2, 3, 4, 5];
 
for (const number of numbers) {
  console.log(number);
}
//Outpt:
// 1
// 2
// 3
// 4
// 5

In this example, the `for...of` loop iterates over each element of the `numbers` array and logs it to the console.

The `forEach` Method

  • The `forEach` method is an iteration method that executes a provided function once for each element in an array.
  • It is a more concise alternative to using a `for` loop to iterate over an array.

  • Syntax: array.forEach(callbackFunction(element, index, array))
  • Mutable: No

Here's an example of using the `forEach` method to iterate over an array:

Example 1:

const fruits = ['apple', 'banana', 'orange'];
 
fruits.forEach(function(fruit) {
  console.log(fruit);
});
// Output: 
// apple
// banana
// orange

In this example, the `forEach` method is called on the `fruits` array, and a callback function is provided as an argument. The callback function takes each element of the array as a parameter, and the code inside the function is executed for each element.

Example 2:

const numbers = [1, 2, 3, 4, 5];
 
numbers.forEach((number, index) => {
  console.log(`Element at index ${index}: ${number}`);
});
 
// Output:
// Element at index 0: 1
// Element at index 1: 2
// Element at index 2: 3
// Element at index 3: 4
// Element at index 4: 5

Example 3:

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = [];
 
numbers.forEach(number => {
  squaredNumbers.push(number * number);
});
 
console.log(squaredNumbers); // Output: [1, 4, 9, 16, 25]

The `map` Method

  • Creates a new array by applying a function to each element of the original array.
  • Syntax: array.map(callbackFunction(element, index, array))
  • Mutable: No

Here's an example of using the `map` method to transform an array:

Example 1:

const numbers = [1, 2, 3, 4, 5];
 
const doubledNumbers = numbers.map(function(number) {
  return number * 2;
});
 
console.log(doubledNumbers); //Output: [2, 4, 6, 8, 10]

In this example, the `map` method is called on the `numbers` array, and a callback function is provided. The callback function takes each element of the array, multiplies it by 2, and returns the result. The `map` method creates a new array with the transformed elements.

Example 2:

const numbers = [1, 2, 3, 4, 5];
 
const squaredNumbers = numbers.map(num => num * num);
 
console.log(squaredNumbers); // Output: [1, 4, 9, 16, 25]

The `filter` Method

  • The `filter` method is an array iteration method that creates a new array with all the elements that pass a provided test.
  • It is often used to filter out specific elements from an array based on a condition.

  • Syntax: array.filter(callbackFunction(element, index, array))
  • Mutable: No

Here's an example of using the `filter` method to filter an array:

Example 1:

const numbers = [1, 2, 3, 4, 5];
 
const evenNumbers = numbers.filter(function(number) {
  return number % 2 === 0;
});
 
console.log(evenNumbers); //Output: [2, 4]

In this example, the `filter` method is called on the `numbers` array, and a callback function is provided. The callback function tests each element of the array to check if it is even using the modulo operator. The `filter` method creates a new array with only the elements that pass the test.

Example 2:

const numbers = [1, 2, 3, 4, 5];
 
const evenNumbers = numbers.filter(num => num % 2 !== 0);
 
console.log(evenNumbers); // Output: [1, 3, 5]

The `reduce` Method

  • Applies a function to reduce all elements of an array to a single value, iterating from left to right.
  • Syntax: array.reduce(callbackFunction(accumulator, currentValue, index, array), initialValue)
  • Mutable: No

Example 1:

const numbers = [1, 2, 3, 4, 5];
 
const sum = numbers.reduce((acc, num) => acc + num, 0);
 
console.log(sum); // Output: 15

In this example, the `reduce` method is called on the `numbers` array, and a callback function is provided. The callback function takes an accumulator (`acc`) and the current element of the array (`current`) as parameters. The code inside the callback function calculates the sum of the accumulator and the current element and returns the result. The `reduce` method applies this function to each element of the array, starting with an initial value of 0 for the accumulator.

Key Takeaways

  • Array iteration methods provide a more concise and readable way to operate on arrays compared to traditional for loops.

  • The `for...of` loop can be used to iterate over the elements of an array.

  • The `forEach` method executes a provided function once for each element in an array.

  • The `map` method creates a new array by applying a provided function to each element of the original array.

  • The `filter` method creates a new array with all the elements that pass a provided test.

  • The `reduce` method applies a provided function to reduce an array to a single value.

Comments

Popular posts from this blog

Limitations of JavaScript

'for in' Loop

What is JIT compiler? Is JavaScript compiled or interpreted or both?