Lặp qua các đặc tính object Javascript

Lặp qua các đặc tính object Javascript

Thay vì test cho sự tồn tại của các đặc tính riêng rẽ, chúng ta đôi khi muốn lặp qua hay giành một danh sách tất
cả các đặc tính của một object. Có một vài các cách thức khác nhau để làm cái này.
for/in loop đề cập trong các học phần trước. Nó chạy body của loop một lần cho mỗi đặc tính có thể lặp qua (bản
thân hay kế thừa) của object chỉ ra, gán tên của đặc tính vào biến loop. Các phương thức tích hợp cái các objects
kế thừa là không lặp qua được, nhưng các đặc tính cái code của bạn thêm vào các objects là lặp qua được theo
mặc định. Ví dụ:

let o = {x: 1, y: 2, z: 3}; // Three enumerable own properties
o.propertyIsEnumerable(“toString”) // => false: not enumerable
for(let p in o) { // Loop through the properties

console.log(p); // Prints x, y, and z, but not toString

}

Để bảo vệ lại lặp qua các đặc tính kế thừa với for/in, bạn có thể thêm một check công khai bên trong loop body:

for(let p in o) {

if (!o.hasOwnProperty(p)) continue; // Skip inherited properties

}
for(let p in o) {

if (typeof o[p] === “function”) continue; // Skip all methods

}

Chia sẻ