Back to Home
Objects

How to Iterate Over Object Properties

Use Object.entries() or Object.keys() to iterate

Quick Answer (2024 ES6+ Way)

javascript
const user = { name: 'Alice', age: 30, city: 'NYC' };
Object.entries(user).forEach(([key, value]) => {
  console.log(`${key}: ${value}`);
});

Live Example

javascript
const scores = {
  math: 95,
  english: 87,
  science: 92
};

// Get keys
const subjects = Object.keys(scores);
console.log(subjects);

// Get values
const grades = Object.values(scores);
console.log(grades);

// Get entries
Object.entries(scores).forEach(([subject, score]) => {
  console.log(`${subject}: ${score}%`);
});

Common Variations

Convert to Array of Objects
javascript
const arr = Object.entries(obj).map(([key, value]) => ({
  name: key,
  value: value
}));
Filter Object Properties
javascript
const filtered = Object.fromEntries(
  Object.entries(obj).filter(([key, val]) => val > 10)
);

❌ Don't Do This (Outdated Way)

Avoid for...in without hasOwnProperty check

javascript
// DON'T DO THIS
for (var key in obj) {
  console.log(key, obj[key]); // includes inherited properties
}

Browser Support

Works in all modern browsers (ES2017+)

#objects#iterate#entries