hasOwnProperty có vẻ là giải pháp phổ biến, nhưng đáng lưu ý là nó chỉ đề cập đến chuỗi và có thể tốn kém để gọi.
Nếu bạn đang sử dụng các đối tượng làm khóa trong Dictionary của bạn hasOwnProperty sẽ không hoạt động.
Giải pháp hiệu quả và đáng tin cậy hơn là sử dụng sự bình đẳng chặt chẽ để kiểm tra không xác định.
function exists(key:*):Boolean {
return dictionary[key] !== undefined;
}
Hãy nhớ sử dụng bình đẳng nghiêm ngặt khác mục với một giá trị null nhưng chìa khóa hợp lệ sẽ nhìn trống rỗng tức là
null == undefined // true
null === undefined // false
Và trên thực tế, như đã được đề cập bằng in
nên hoạt động tốt quá
function exists(key:*):Boolean {
return key in dictionary;
}
Nguồn
2013-04-09 06:21:51
Cảm ơn Cotton, tôi chưa bao giờ biết rằng toán tử tồn tại bên ngoài vòng lặp for-each. –
điều này làm cho tôi hạnh phúc, nó rất Pythonic. – Soviut
Giải pháp tốt nhất từ chế độ xem hiệu suất là tốt? – Rihards