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ể.