Trong JavaScript, có nhiều cách để lặp qua các thuộc tính của một đối tượng. Dưới đây là các cách phổ biến để thực hiện việc này:
for...in
loopconst obj = { name: 'Alice', age: 25, city: 'New York' }; for (let key in obj) { console.log(`${key}: ${obj[key]}`); }
Object.keys()
for
, forEach
.const obj = { name: 'Alice', age: 25, city: 'New York' }; const keys = Object.keys(obj); keys.forEach(key => { console.log(`${key}: ${obj[key]}`); });
Object.values()
Object.keys()
, nhưng thay vì trả về các khóa, nó trả về các giá trị của các thuộc tính liệt kê được của đối tượng.const obj = { name: 'Alice', age: 25, city: 'New York' }; const values = Object.values(obj); values.forEach(value => { console.log(value); });
Object.entries()
[key, value]
, cho phép bạn lặp qua cả khóa và giá trị của đối tượng một cách dễ dàng.const obj = { name: 'Alice', age: 25, city: 'New York' }; const entries = Object.entries(obj); entries.forEach(([key, value]) => { console.log(`${key}: ${value}`); });
Object.getOwnPropertyNames()
const obj = { name: 'Alice', age: 25, city: 'New York' }; const propNames = Object.getOwnPropertyNames(obj); propNames.forEach(prop => { console.log(`${prop}: ${obj[prop]}`); });
Reflect.ownKeys()
const obj = { name: 'Alice', age: 25, city: 'New York' }; const keys = Reflect.ownKeys(obj); keys.forEach(key => { console.log(`${key}: ${obj[key]}`); });
for...of
with Object.entries()
for...of
với Object.entries()
để lặp qua các cặp key
và value
một cách rõ ràng và dễ hiểu hơn.const obj = { name: 'Alice', age: 25, city: 'New York' }; for (let [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); }
Mỗi phương pháp có những ưu điểm riêng và nên sử dụng tùy theo trường hợp cụ thể.