JavaScript for...in loop

Before reading this tutorial, make sure you first learn about JavaScript objects.


The JavaScript for...in loop iterates over the keys of an object.

Here's a simple example of the for...in loop in JavaScript. Read the rest of the tutorial to learn more.

Example

const student = {
    name: "Monica",
    class: 7
};

// loop through the keys of student object for (let key in student) { // display the key-value pairs console.log(`${key} => ${student[key]}`); };
// Output: // name => Monica // class => 7

Here, the for...in loop iterates over the keys of the student object. In each iteration of the loop, the key variable stores a single key belonging to student.


Syntax of JavaScript for...in Loop

for (key in object) {
    // body of for...in
};

Here,

  • object - The object whose keys we want to iterate over.
  • key - A variable that stores a single key belonging to object.

Working of for...in Loop

  1. In the first iteration, the key variable is assigned the first key of object. The body of the loop is then executed.
  2. In the second iteration, the key variable is assigned the next key of object. The body of the loop is then executed.
  3. This process continues until there are no more keys over which to iterate.

Note: Once you get the keys of an object, you can easily find their corresponding values.


Example: JavaScript for...in Loop

const salaries = {
    Jack: 24000,
    Paul: 34000,
    Monica: 55000
};

// use for...in to loop through // properties of salaries for (let i in salaries) { // access object key using [ ] // add a $ symbol before the key let salary = "$" + salaries[i]; // display the values console.log(`${i}: ${salary}`); };

Output

Jack: $24000,
Paul: $34000,
Monica: $55000

In the above example, we used the for...in loop to iterate over the properties of the salaries object. Then, we added the string $ to each value of the object.

Note: We have used the variable i instead of key because we can use any valid variable name.


More on JavaScript for...in Loop

JavaScript for...in With Strings

You can also use the for...in loop to iterate over string values. For example,

const string = 'code';

// using for...in loop
for (let i in string) {
    console.log(string[i]);
};

Output

c
o
d
e
JavaScript for...in With Arrays

You can also use for...in with arrays. For example,

// define array
const arr = ["hello", 1, "JavaScript"];

// using for...in loop
for (let x in arr) {
    console.log(arr[x]);
};

Output

hello
1
JavaScript

Note: You should not use for...in to iterate over an array where the index order is important. Instead, it's better to use the for...of loop.


Also Read:

Did you find this article helpful?