tôi cảm thấy bẩn mỗi khi tôi "phá vỡ" ra khỏi một for-each xây dựng (PHP/Javascript)cho mỗi ... phá vỡ
Vì vậy, một cái gì đó như thế này:
// javascript dụ
for (object in objectList)
{
if (object.test == true)
{
//do some process on object
break;
}
}
Đối với đối tượng lớn, tôi sẽ giải quyết vấn đề này một cách đơn giản hơn. Nhưng đối với các danh sách nhỏ không có vấn đề hiệu suất đáng chú ý và do đó "tại sao không?" Thật nhanh chóng và quan trọng hơn là dễ hiểu và dễ hiểu.
Nhưng nó chỉ "cảm thấy sai". Loại giống như một tuyên bố goto.
Bạn xử lý loại tình huống này như thế nào?
Tôi biết những gì bạn đang nói, nhưng mọi người đi đúng hướng - ngắt là tốt, đặc biệt là đối với các danh sách nhỏ. Danh sách lớn của tôi thường là từ các truy vấn DB và nếu tôi phải sử dụng hàm LIMIT ở đó để chỉ lấy một tập hợp con các bản ghi. Câu trả lời ngắn - không cảm thấy xấu về việc sử dụng "break" hoặc "continue" – jbnunn
Mã của bạn sẽ không hoạt động theo cách này bởi vì toán tử for..in sẽ luôn lặp qua các khóa (chuỗi) của đối tượng. Bạn có thể có ý nghĩa như sau: cho (var key trong objectList) { var object = objectList [key]; ... } –