Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScript配列の反復で「for…in」ループを使用するのはなぜ悪い考えですか?


ほとんどの場合、通常は' forを使用することをお勧めします。 ' for ... inではなくループ 「for... in "ループはインデックスになります 通常の「for」に対して、残りのインデックスについては気にしません。 「ループは値を表示し、残りのインデックスには「undefined」という値が実行されるため、開発者はコードの記述中に混乱することはありません。

構文-1
for (var x in array) {
// code
};
上記のコードは、「 for ... in」の構文です。 「ループ。

構文-2
for () {
// code
};
上記は通常の「for」の構文です。 「ループ。

例-1

次の例では、最初は配列 " num "は5桁しかありません(0から4までのインデックス)。インデックス'4'から遠く離れた他のインデックス7の場合 が配列に追加されると、残りのインデックス(5および6)について何も通知せずに、インデックスが継続的に実行されます。これは通常の「for」には当てはまりません 「ループ。これは開発者を困惑させるかもしれません。

<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>

出力

0
1
2
3
4
7


例-2

次の例では、「 for ... in 」とは異なり、 「ループ、通常の」 for "ループすると、インデックスの代わりに値が表示され、残りのインデックスにも値 undefined が表示されます 開発者を困惑させないために実行されます。

<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>

出力

1
2
3
4
5
undefined
undefined
7

  1. JavaScriptオブジェクトの配列で配列のメソッドを使用していますか?

    以下は、JavaScriptオブジェクトの配列で配列のメソッドを使用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <styl

  2. JavaScriptのforループを使用して空のオブジェクトにプロパティを設定します。

    以下は、JavaScriptのforループを使用して空のオブジェクトにプロパティを設定するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title>