# How to loop through object properties using Object.entries() in JavaScript

By Atta Ur Rehman Shah (https://attacomsian.com/about). Published Sep 19, 2022. Topics: JavaScript.
Canonical URL: https://attacomsian.com/blog/javascript-iterate-object-using-object-entries

> Learn how to use the Object.entries() method to loop through an object's keys and values in JavaScript.

The [`Object.entries()`](https://attacomsian.com/blog/object-entries-values-javascript#objectentries-method) method was introduced in ES8 and can be used for traversing an object. 

Unlike the [`Object.values()`](https://attacomsian.com/blog/javascript-iterate-object-using-object-values) method that creates an array of the values in the object, `Object.entries()` outputs an array of arrays. 

Each nested array has two elements. The first element is the property and the second element is the value.

Here is an example:

```javascript
const animals = {
  tiger: '?',
  cat: '?',
  monkey: '?',
  elephant: '?'
}

const entries = Object.entries(animals)
console.log(entries)

// [ [ 'tiger', '?' ],
//   [ 'cat', '?' ],
//   [ 'monkey', '?' ],
//   [ 'elephant', '?' ] ]
```

To iterate over the array returned by `Object.entries()`, you can either use the [`for...of`](https://attacomsian.com/blog/javascript-for-of-loop) loop or the [`forEach()`](https://attacomsian.com/blog/javascript-for-of-loop) method as shown below:

```javascript
// `for...of` loop
for (const [key, value] of Object.entries(animals)) {
  console.log(`${key}: ${value}`)
}

// `forEach()` method
Object.entries(animals).forEach(([key, value]) => {
  console.log(`${key}: ${value}`)
})
```

Read [this article](https://attacomsian.com/blog/javascript-iterate-objects) to learn more about different ways of iterating over an object in JavaScript.
