Phương thức JavaScript Object.keys() truy xuất các khóa trong một Object và trả về danh sách chứa các khóa đó. Thứ tự khóa trong danh sách kết quả giống với thứ tự xuất hiện trong Object gốc.
Cấu trúc JavaScript Object: Ôn tập nhanh
Object (viết hoa "O") là kiểu dữ liệu ánh xạ (mapping) trong JavaScript. Chúng ánh xạ khóa (keys) đến giá trị (values). Giá trị lưu trữ có thể bao gồm chuỗi, số, Boolean, và các kiểu dữ liệu khác. Ví dụ một Object trong JavaScript:
const job_description = {
position: "Sales Assistant",
floor_worker: true,
hours_per_week: 38
};
Các từ bên trái dấu hai chấm (:) là khóa (keys). Từ bên phải là giá trị (values). Có thể hiểu JavaScript Object tương đương với dictionary trong Python, nhưng trong JavaScript.
JavaScript Object.keys()
Phương thức Object.keys() trả về các khóa bên trong một JavaScript Object hoặc JSON Object. Các khóa được lưu theo thứ tự xuất hiện trong Object.
Cú pháp
Object.keys(object_name)
Phương thức chấp nhận một tham số: tên của Object muốn lấy khóa. Trả về tên tất cả khóa trong Object đã chỉ định, lưu dưới dạng mảng (list) JavaScript.
Lưu ý: phương thức gọi là Object.keys() vì keys() là phương thức của Object. Phải chỉ định Object muốn lấy khóa làm tham số của Object.keys(). Không thể nối keys() trực tiếp vào bất kỳ Object nào vì Object đó không có quyền truy cập phương thức keys().
Ví dụ sử dụng Object.keys()
Trước đó ta tạo dictionary "job_description" chứa thông tin công việc tại siêu thị địa phương. Object chứa boolean, chuỗi, và số nguyên. Giả sử muốn lấy danh sách khóa trong dictionary đó.
const job_description = {
position: "Sales Assistant",
floor_worker: true,
hours_per_week: 38
};
var job_keys = Object.keys(job_description);
console.log(job_keys);
Kết quả trả về:
["position", "floor_worker", "hours_per_week"]
Giải thích: đầu tiên khai báo hằng "job_description" lưu Object thông tin việc làm. Sau đó dùng Object.keys() lấy danh sách khóa, gán vào biến "job_keys". Cuối cùng in nội dung "job_keys" ra console.
Kết quả là mảng chứa ba giá trị, mỗi giá trị đại diện cho một khóa duy nhất trong Object.
Ví dụ khác: In khóa với tiền tố
Giả sử muốn in danh sách khóa trong Object, mỗi khóa tiền tố "Key Name: ". Code như sau:
const job_description = {
position: "Sales Assistant",
floor_worker: true,
hours_per_week: 38
};
var job_keys = Object.keys(job_description);
for (var key of job_keys) {
console.log("Key Name: " + key);
}
Kết quả:
Key Name: position Key Name: floor_worker Key Name: hours_per_week
Ta định nghĩa Object "job_description", dùng Object.keys() lấy danh sách khóa. Sau đó dùng vòng lặp for...of duyệt qua từng khóa. Mỗi khóa in ra "Key Name: " theo sau tên khóa.
Kết luận
Phương thức Object.keys() truy xuất danh sách khóa lưu trong JavaScript Object. Kết quả lưu trong một mảng. Không thể nối keys() vào cuối Object để lấy khóa. Phải dùng cú pháp Object.keys().
Hướng dẫn này trình bày cơ bản về JavaScript Object và cách dùng Object.keys(). Bây giờ bạn sẵn sàng dùng Object.keys() lấy danh sách khóa trong Object như một lập trình viên JavaScript chuyên nghiệp!
Để tìm hiểu thêm về lập trình JavaScript, đọc hướng dẫn "How to Learn JavaScript".