Computer >> Máy Tính >  >> Lập trình >> Javascript

Tại sao sử dụng vòng lặp “for… in” trong lặp lại mảng JavaScript là một ý tưởng tồi?


Trong hầu hết các trường hợp, tốt hơn là sử dụng thông thường ' for 'loop thay vì " for ... in "vòng lặp vì" for ... in "vòng lặp dẫn đến chỉ mục và sẽ không bận tâm về các chỉ mục còn sót lại trong khi thông thường " cho "vòng lặp hiển thị các giá trị và trong các chỉ mục còn lại, một giá trị được gọi là 'không xác định' sẽ được thực thi để nhà phát triển không nhầm lẫn khi viết mã.

cú pháp-1

for (var x in array) {
// code
};

Đoạn mã trên là cú pháp của " for ... in "vòng lặp.

cú pháp-2

for () {
// code
};

Trên đây là cú pháp cho " for bình thường" "vòng lặp.

Ví dụ-1

Trong ví dụ sau, ban đầu, mảng " num "chỉ có 5 chữ số (chỉ mục từ 0-4). Khi chỉ mục 7 khác xa chỉ mục ' bốn' được thêm vào mảng, liên tục các chỉ mục đã được thực thi mà không thông báo gì về các chỉ mục còn sót lại (5 và 6). Điều này không đúng với trường hợp bình thường " for "vòng lặp. Điều này có thể khiến nhà phát triển bối rối.

<html>
<body>
<script>
   var num = [1,2,3,4,5];
   num[7] = 7;
   for (var x in num) {
      document.write(x);
      document.write("</br>");
   }
</script>
</body>
</html>

Đầu ra

0
1
2
3
4
7


Ví dụ-2

Trong ví dụ sau, không giống như " for ... in "loop, in normal" for "lặp lại các giá trị được hiển thị thay vì chỉ mục và cũng trong các chỉ mục còn lại giá trị không xác định được thực thi để không làm khó nhà phát triển.

<html>
<body>
<script>
   var num = [1,2,3,4,5];
   num[7] = 7;
   for (var i = 0; i < num.length; i++) {
      document.write(num[i]);
      document.write("</br>");
   }
</script>
</body>
</html>

Đầu ra

1
2
3
4
5
undefined
undefined
7