Table of contents
Open Table of contents
1. Trích xuất dữ liệu
Thay vì dùng vòng lặp for...in, các hàm này trả về một mảng để bạn có thể kết hợp với map() hoặc filter() cực kỳ tiện lợi:
Object.keys(obj): Trả về mảng chứa tên của tất cả các biến (Keys).Object.values(obj): Trả về mảng chứa tất cả giá trị (Values).Object.entries(obj): Trả về mảng chứa các cặp[key, value].
2. Sao chép và Hợp nhất (Assign)
Phương thức Object.assign(target, source) dùng để sao chép thuộc tính từ một hoặc nhiều đối tượng nguồn vào một đối tượng đích.
const user = { name: "Tuấn" };
const info = { age: 28 };
const fullProfile = Object.assign({}, user, info);
Mẹo: Ngày nay, người ta thường dùng toán tử Spread const fullProfile = {...user, ...info} để ngắn gọn hơn.
3. Bảo vệ đối tượng (Protection)
Trong các dự án lớn, bạn có thể muốn ngăn chặn việc người khác vô tình sửa đổi dữ liệu quan trọng:
Object.freeze(obj): “Đóng băng” hoàn toàn. Không thể thêm, xóa hay sửa bất kỳ thuộc tính nào.Object.seal(obj): “Niêm phong”. Có thể sửa giá trị của thuộc tính hiện có nhưng không thể thêm hoặc xóa thuộc tính.
4. Chuyển đổi từ Mảng (fromEntries)
Ngược lại với entries(), Object.fromEntries() nhận vào một danh sách các cặp key-value và biến chúng thành một Object hoàn chỉnh.
5. Nhóm dữ liệu (groupBy) - Mới nhất ES2024
Một phương thức siêu mạnh mẽ mới được bổ sung để nhóm các phần tử dựa trên một tiêu chí nhất định.
const inventory = [
{ name: "Táo", type: "fruit" },
{ name: "Cà rốt", type: "vegetable" },
];
const result = Object.groupBy(inventory, ({ type }) => type);
Lời kết Tập 6
Nắm vững các phương thức xử lý Object sẽ giúp bạn xử lý dữ liệu JSON một cách uyển chuyển. Đây cũng là tập cuối cùng trong Series JavaScript Reference cơ bản.
Chúng ta đã đi qua một hành trình dài từ C++ đến JavaScript toàn diện. Chúc mừng bạn đã hoàn thiện bộ kiến thức nền tảng vững chắc cho sự nghiệp lập trình!
Hẹn gặp lại các bạn trong những series công nghệ tiếp theo trên tuannda.dev!