Kiểm tra khóa có tồn tại
Thuộc phần Logic và luồng chương trình trong hành trình JavaScript của Coddy. Bài học 16 trên 65.
Để kiểm tra một khóa cụ thể có trong đối tượng JSON hay không, hãy dùng toán tử in hoặc hasOwnProperty(). Ví dụ:
const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
console.log("Key exists!");
}
if (product.hasOwnProperty("price")) {
console.log("Key exists!");
}Điều này rất hữu ích khi kiểm tra xem dữ liệu nhất định có tồn tại hay không trước khi xử lý.
obj.hasOwnProperty("key") sẽ trả về false nếu obj không có key là thuộc tính riêng của nó. Tuy nhiên, obj.key === undefined không nhất thiết có nghĩa là hasOwnProperty("key") sẽ trả về false. Có hai trường hợp mà obj.key là undefined:
- Thuộc tính hoàn toàn không tồn tại →
hasOwnProperty("key")trả vềfalse. - Thuộc tính tồn tại nhưng có giá trị
undefined→hasOwnProperty("key")trả vềtrue.
Ví dụ:
const obj1 = {};
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false
const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// trueThử thách
DễTạo một hàm có tên toggleBookStatus, nhận một đối tượng sách làm tham số. Hàm này cần:
- Nếu sách có thuộc tính
isReadlà true, hãy đổi thành false - Nếu sách có thuộc tính
isReadlà false, hãy đổi thành true - Nếu sách không có thuộc tính
isRead, hãy thêm thuộc tính này và đặt thành true - Trả về đối tượng sách đã sửa đổi
Tự làm thử
function toggleBookStatus(book) {
// Viết code của bạn tại đây
}
// Không viết gì bên ngoài hàm (function)Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
4JSON phần 2
Duyệt qua JSONJSON lồng nhauOptional chaining trong JSONSao chép nông và sâuÔn tập: Cửa hàng xe đạpÔn tập: Hệ Mặt Trời7Hệ thống quản lý thư viện
Tổng quan dự ánThêm sách10Quản lý hệ thống lễ hội
Tổng quan dự ánThêm phim và địa điểm2Mảng nhiều chiều
Kiến thức cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập về mảng 2 chiềuPhép cộng và phép trừ ma trậnMảng không đềuMảng 3 chiều và hơn nữaCác mẫu thường gặp với mảng 2 chiềuÔn tập về mảng3JSON phần 1
JSON là gì?Kiểm tra khóa có tồn tạiPhương thức của đối tượngToán tử spread phần 1Toán tử spread phần 2Xóa khóaÔn tập: thao tác với khóa trong JSONTự luyện tập: Trình biên dịch JavaScript online