1. ホーム
  2. javascript

[解決済み] JavaScript for...in vs for

2022-03-20 09:49:50

質問

for...inとforループには大きな違いがあると思いますか?また、どのようなforを使用するのが好ましいですか?

例えば、連想配列の配列があるとします。

var myArray = [{'key': 'value'}, {'key': 'value1'}];

だから反復できるのです。

for (var i = 0; i < myArray.length; i++)

そして

for (var i in myArray)

大きな違いは見当たりませんね。パフォーマンス上の問題はないのでしょうか?

解決方法は?

どのイディオムが一番理解しやすいかで選ぶとよいでしょう。

配列の反復処理に使用されます。

for (var i = 0; i < a.length; i++)
   //do stuff with a[i]

連想配列として使用されているオブジェクトを使用してイテレートする。

for (var key in o)
  //do stuff with o[key]

よっぽどの理由がない限り、確立された使用パターンを守ってください。