Different Methods for Looping in Javascript

Javascript is a popular programming language which can be used in many situations. It can be seen on the website, desktop, or mobile app. Like many other programming languages, it has some methods for looping and iteration. 

However, you may pop up a question, what do the different methods differ? To gain more understanding of looping in Javascript, let’s learn the common approach to looping. 


Table of Contents

What’s looping and its importance

Looping is a fundamental concept in programming that allows a program to execute a block of code repeatedly. This repetition continues until a specified condition is met. Or you can let the code run forever.

Looping is important for several reasons:

  1. Efficiency: Looping allows you to perform a task multiple times without having to write the same code over and over again, which leads to a more concise, readable, and maintainable code.
  2. Data Processing: Loops are essential for processing collections of data, such as arrays or lists. They enable you to iterate through these collections, performing operations on each element.
  3. Control Structures: Loops are control structures that determine the flow of a program. They allow you to make some decisions based on the conditions and execute different code paths accordingly.
  4. Algorithm Implementation: Many algorithms rely on loops to implement their logic, such as sorting algorithms, searching algorithms, and recursive functions.
  5. User Interaction: Loops can be used to handle user input and events, enabling you to create interactive applications and games.

Looping Methods

Here are the most commonly used looping methods in JavaScript:

  1. for Loop: This is the most common type of loop. It allows you to execute a block of code repeatedly, as long as a specified condition is true.
for (let i = 0; i < 10; i++) {
  console.log(i);
}
  1. while Loop: This loop executes a block of code as long as a specified condition is true.
let i = 0;
while (i < 10) {
  console.log(i);
  i++;
}
  1. do-while Loop: This loop is similar to the while loop, but it executes the block of code at least once, even if the condition is false.
let i = 10;
do {
  console.log(i); // This will be executed.
   i++;
} while (i < 10);
  1. for-in Loop: This loop is used to iterate over the properties of an object.
const obj = { a: 1, b: 2, c: 3 };
for (const key in obj) {
  console.log(key, obj[key]);
}
  1. for-of Loop: This loop is used to iterate over the values of an iterable object, such as an array or a string.
const arr = [1, 2, 3];
for (const value of arr) {
  console.log(value);
}

const str = 'hello';
for (const char of str) {
  console.log(char);
}

Compare looping methods

  1. for Loop:

    • It is a simple loop structure that allows you to iterate through a sequence of numbers or perform a specific action a certain number of times.
    • It is suitable for situations where you know the number of iterations in advance.
  2. while Loop:

    • It checks the loop condition before executing the loop body, which may result in the loop body not executing at all if the condition is not met initially.
    • It is useful when you don’t know the number of iterations in advance.
  3. do-while Loop:

    • It checks the loop condition after executing the loop body, ensuring that the loop body is executed at least once.
    • It is useful when you want to ensure that the loop body is executed at least once, regardless of the loop condition.
  4. for-in Loop:

    • It is used to iterate over the properties of an object.
    • It is not suitable for iterating over arrays or collections, as it does not guarantee the order of iteration.
  5. for-of Loop:

    • It is used to iterate over the values of an iterable object, such as arrays, strings, or custom iterable.
    • It guarantees the order of iteration based on the order of insertion for arrays and the order of creation for custom iterable.

Loop through an array

If you want to loop through an array, you can use the methods mentioned above. Otherwise, you can use Array.prototype.forEach() method instead.

const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) => {
  console.log(number);
});

The forEach() method has the following advantages:

  • It is designed for arrays, so it works well with their structure.
  • It automatically handles the loop index and the length of the array.
  • It does not require you to manage the loop counter or the loop condition.
  • It allows you to focus on the operation you want to perform on each element.

The second method is called Array.prototype.map(). This method is used to create a new array with the results of calling a provided function on every element in the array. It is not primarily designed for looping, but rather for transforming elements in an array. However, you can still use it to loop through an array and perform some operation on each element.

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

In this example, map() creates a new array, squaredNumbers, containing the squares of the original numbers.

Here are some key points about using map():

  • It creates a new array with the transformed elements.
  • It does not modify the original array.
  • It is suitable for transforming elements while looping through an array.
  • It is not suitable for looping without transforming elements, as it creates an unnecessary new array.

If you don’t need to create a new array and just want to loop through the array, consider using a traditional loop or a .forEach loop.

We have learned for Loop, while Loop, do-while Loop, for-in Loop, for-of Loop, and also array method forEach and map. Using these looping methods when you need them can lessen your coding time, and improve functionality at the same time. It’s very useful in real-world projects.

This article was assisted by Mixtralai.

This article was updated on April 14, 2024

sk5s

Comments