web-dev-qa-db-ja.com

「for」JavaScriptステートメントはどの程度サポートされていますか?

_var nameArray = [

{ name: 'john', surname: 'smith'  },
{ name: 'paul', surname: 'jones' },
{ name: 'timi', surname: 'abel' },

];  

for (str of nameArray) {    
   console.log( str.name );

}
_

知りたいのですが、ブラウザサポート、モバイルJavaScriptサポートの面でfor( item of array )はどのようにサポートされていますか。_greater than >_を実行できないことに気づきました。これは純粋な反復ですか?

これを発見したばかりですが、これでいいのでしょうか。

17
TheBlackBenzKid

これを行う古典的な方法は次のとおりです。

  for(var i = 0; i < nameArray.length; i++){
    var str = nameArray[i];
  }

これにより、「foreach」ループの正確な機能が得られます。これは、あなたがここで実際に行っていることだと思います。これにより、Internet Explorerで作業できるという利点もあります。

[〜#〜] mdn [〜#〜] で説明されている正確なループに関する広範な知識もあります。現時点ではAndroidウェブであり、すべてがメソッドをサポートしているわけではないので、そのページの互換性リストを確認してください。おそらくOOPその中に。

13
Gianthra

MDN:

For ... inはプロパティ名を反復し、for ... ofはプロパティ値を反復します。

上記はfor...ofループします。現在の状況は以下のとおりです。

これは実験的な技術であり、Harmony(ECMAScript 6)の提案の一部です。このテクノロジーの仕様は安定していないため、さまざまなブラウザーでの使用について compatibility テーブルを確認してください。また、試験的なテクノロジーの構文と動作は、仕様の変更に伴い、将来のバージョンのブラウザーで変更される可能性があります。

9
Amit Joki

これがES6です for..of ループ。私がリンクしたばかりのMDN記事によると、それはいくつかのブラウザー(正確なバージョンについてはそちらを参照)でサポートされていますが、IEではサポートされていません。現在、いくつかのモバイルブラウザーでもサポートされています。

4
Scimonster

その間、次のようなものを使用できます。

for(element_idx in elements) {
    element = elements[element_idx];
    ...
}

for...inはECMAScript 1st Edition以来標準でした

3