Use Object.entries() or Object.keys() to iterate
const user = { name: 'Alice', age: 30, city: 'NYC' };
Object.entries(user).forEach(([key, value]) => {
console.log(`${key}: ${value}`);
});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}%`);
});const arr = Object.entries(obj).map(([key, value]) => ({
name: key,
value: value
}));const filtered = Object.fromEntries(
Object.entries(obj).filter(([key, val]) => val > 10)
);Avoid for...in without hasOwnProperty check
// DON'T DO THIS
for (var key in obj) {
console.log(key, obj[key]); // includes inherited properties
}✓ Works in all modern browsers (ES2017+)