「for (… in …)」ループ内の要素の順序
JavaScript では、「for…in」ループが反復されますこれらのプロパティは通常、定義された順序でアクセスされますが、この動作は次のとおりであることに注意してください。
jQuery の作者である John Resig 氏によると、現在、Chrome の一部のケースを除いて、すべての主要なブラウザはオブジェクト プロパティを定義順にループします。ただし、ECMAScript 仕様では、この動作が明示的に規定されています。
実際には、最新の ECMAScript 実装はすべて、定義された順序でオブジェクト プロパティを反復処理します。 Chrome と Opera は例外であり、数値以外のプロパティ名ごとにこれを行うことに注意してください。どちらのブラウザもプロパティを順番に取得し、最初の非数値プロパティを取得します (これは配列の実装方法に関係します)。 Object.keys も同じ順序に従います。
次の例は、何が起こっているかを明確に示しています:
var obj = { "first": "first", "2": "2", "34": "34", "1": "1", "second": "second" }; for (var i in obj) { console.log(i); };
出力シーケンス:
この動作はいつでも変更される可能性があることに注意することが重要です。したがって、現在の順序に依存することはお勧めできません。
結論: 順序が重要な場合は、配列を使用してください。
以上がJavaScript の「for...in」ループ順序は保証されていますか? それを信頼する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。