JavaScript đã đi một chặng đường dài trong những năm gần đây, giới thiệu một số chức năng tiện ích tuyệt vời như Object. phím, đối tượng. giá trị và nhiều hơn nữa. Trong bài viết này, chúng ta sẽ khám phá cách kiểm tra xem một Đối tượng JavaScript có bất kỳ khóa nào trên đó không
Đầu tiên, hãy nhanh chóng chứng minh “cách cũ” để làm mọi việc, bao gồm việc sử dụng vòng lặp for
const item = { id: '🥽', name: 'Goggles', price: 1499 };
let hasKeys = false;
// oldschool approach
for [const key in item] {
if [item.hasOwnProperty[key]] {
// a key exists at this point, for sure!
hasKeys = true;
break; // break when found
}
}
Bạn sẽ nhận thấy rằng chúng tôi cần giới thiệu câu lệnh break
[đừng quên, chúng tôi không muốn có bất kỳ lỗi nào trong cơ sở mã của mình], điều này dẫn chúng tôi đến các cách tiếp cận hiện đại hơn, ít lỗi hơn để sử dụng các công cụ tốt hơn
Cách tiếp cận hiện đại hơn và đơn giản hơn, cũng tuân theo phong cách Lập trình hàm là chọn Object.keys[]
, trả về cho chúng ta một Mảng các khóa trên một Đối tượng [ai đoán được?]
const item = { id: '🥽', name: 'Goggles', price: 1499 };
// newschool approach
const hasKeys = !!Object.keys[item].length;
Kết hợp điều này với một !!
double-bang, chúng ta có thể chuyển đổi length
của Mảng được trả về thành Boolean, đảm bảo chúng ta nhận được giá trị đọc là true
hoặc false
. Không hoàn toàn cần thiết phải làm như vậy, nhưng tôi nghĩ ý định rõ ràng hơn
Sách điện tử miễn phí
Chỉ thị, đơn giản phải không? . Nhìn bề ngoài chúng có vẻ đơn giản, nhưng ngay cả các nhà phát triển Angular lành nghề cũng chưa nắm hết mọi khái niệm trong eBook này
- Đài quan sát và ống không đồng bộ
- Kiểm tra danh tính và hiệu suất
- Cấu phần web syntax
- và Thành phần quan sát được
- Các mẫu kết xuất nâng cao
- Setters và Getters cho Styles và Class Bindings
Tải xuống
Điều đó diễn ra suôn sẻ, hãy kiểm tra email của bạn
🎓 Nếu bạn chỉ làm
0 thì vẫn đánh giá như vậy, nhưng điều này phụ thuộc vào giá trị “thật” hay “sai”. Đôi khi, thật tuyệt khi có một Boolean ngay lập tức và do đó,const item = { id: '🥽', name: 'Goggles', price: 1499 }; // newschool approach const hasKeys = !!Object.keys[item].length;
!!
là một cách nhanh chóng để đạt được điều đó. Bạn cũng có thể sử dụng2 nhưng điều đó gần như không hay bằng…const item = { id: '🥽', name: 'Goggles', price: 1499 }; // newschool approach const hasKeys = !!Object.keys[item].length;
Nếu bạn muốn một chức năng có thể tái sử dụng để lấy độ dài của các phím của Đối tượng, bạn có thể làm điều gì đó như thế này
const item = { id: '🥽', name: 'Goggles', price: 1499 };
const getKeyLength = [x] => Object.keys[k].length;
const keyLength = getKeyLength[item]; // 3
const hasKeys = !!keyLength; // true
🏆 Ồ, và nếu bạn muốn tìm hiểu thêm về JavaScript, hãy truy cập các khóa học JavaScript của chúng tôi để xem cách chúng có thể giúp bạn nâng cao kỹ năng của mình
P. S. Đây là một StackBlitz được nhúng với mọi thứ bên trong, vì vậy bạn có thể sử dụng nó trong thời gian thực
Cảm ơn bạn đã đọc, hãy xem Bản tin của chúng tôi để cập nhật những thông tin mới nhất và hay nhất về mọi thứ trên web