問題タブ [for-in-loop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
6145 参照

javascript - javascriptのfor..inとforeach..inの違いは何ですか?

javascriptのfor..inステートメントとforeach..inステートメントの違いは何ですか?私が知らない微妙な違いはありますか、それとも同じで、ブラウザごとに異なる名前が付いていますか?

0 投票する
2 に答える
3855 参照

javascript - MooToolsを含むfor..inを使用したJavascript配列の反復

MooToolsで配列を反復処理していますが、短縮for..inループを使用して配列を反復処理すると、追加の項目が表示されます。通常のforループを使用すると正常に動作します。これはMooToolsがグローバル名前空間を汚染する問題ですか、それともここで何か間違ったことをしていますか?

createTabs()配列を反復処理し、配列内の値ごとにタブを作成する関数があります。

これは次の出力ですconsole.log(i)

最初の2つのインデックスは理解していますが、残りはどこから来ているのでしょうか。

編集:ChetanとkPrimeのクイックアンサーに感謝します。それは理にかなっており、Array.eachMooToolsによる追加は反復するためのはるかにクリーンな方法です!

今はずっと良く見えます:

0 投票する
1 に答える
221 参照

javascript - Javascript for..in と jQuery の $.for() が IE の XMLHttpRequest で機能しない

更新: この問題は、最新バージョン (1.4.2) ではなく、古いバージョンの jQuery (1.3.2) を使用している場合にのみ発生します。

元の質問:

奇妙な動作を見つけたので、回避策があるかどうか疑問に思っています。JavaScript の「for」ループを使用して、オブジェクトのプロパティ名を列挙できます。IE では一部のオブジェクト、特に XMLHttpRequest では機能しないことがわかりました。次のコードを検討してください。Firefox の XMLHttpRequest のすべてのプロパティに対してアラート ボックスが開きます。ただし、IE ではプロパティが見つかりません。デバッガーをステップスルーすると、オブジェクトには確実にプロパティがあります。jQuery の $.for() 関数を使用すると、同じ結果が得られます。

0 投票する
3 に答える
1319 参照

delphi - Delphiで、Excel相互運用ワークシートコレクションのforループを使用する場合の「GetEnumeratorが存在しません」エラーについてはどうすればよいですか?

Excelファイルの各ワークシートをループしていくつかのセルをフォーマットするDelphiプログラムを作成しようとしています。ただし、Workbook.Worksheetsコレクションでfor-inループを使用しようとすると、エラーが発生します。エラーは具体的には次のとおりです。

[DCCエラー]Office.pas(36):「Sheets」に「GetEnumerator」のメンバーが含まれていないか、アクセスできないため、E2431for-inステートメントはコレクションタイプ「Sheets」を操作できません

これが発生するコード行は次のとおりです。

ワークシートとワークブックの定義は次のとおりです。

このコードをC#からDelphiに移植しており、そこで動作します。このGetEnumeratorエラーが発生する理由を誰かが知っていますか?Office 2007ExcelInteropファイルとEmbarcadero®Delphi®2010バージョン14.0.3593.25826を使用しています。

0 投票する
6 に答える
2550 参照

javascript - Javascript の "for in" コンストラクトは長さプロパティを反復する必要がありますか?

ブックマークレットを作成していますが、IE8 で奇妙な動作に遭遇しました。問題の原因となっているコードは次のとおりです。

最初に警告されるのは「長さ、n」です。これは chrome では当てはまりません: IE8 だけです。

興味深いことに、コードがコンソール/アドレス バーに配置されるか、ページ自体に配置されるかによって、動作が異なるようです。

これは標準的な動作ですか?

編集:

私がそれを実行しているWebサイトにも当てはまりません。IEでキーが設定されgetElementsByTagNameた配列を返すことは可能ですか? "length"確かに、純粋な配列は返されません。

0 投票する
2 に答える
6656 参照

javascript - JavaScriptのforinloopはメソッドを反復処理しますか?

yuiblogの記事for inで、Douglas Crockfordは、ステートメントがオブジェクトのメソッドを反復処理すると述べています。次のコードが["a"、 "b"、 "c"、 "d"、 "toString"]を生成しないのはなぜですか?.toString()およびその他のメソッドはmy_objのメンバーではありませんか?

0 投票する
5 に答える
263 参照

python - Python イテレータの質問

私はこのリストを持っています:

リストをループして、同じ繰り返しで大文字と小文字を区別しない一致で連続した名前を処理したい。したがって、最初の反復では、'john' と 'John' を使用して何かを行い、次の反復を 'james' から開始したいと考えています。

Python の for ループを使用してこれを行う方法が思いつきません。何か提案はありますか?

0 投票する
4 に答える
6522 参照

javascript - for-in ループ内で新しいオブジェクトを作成する

新しいオブジェクトを作成し、json 内に格納されている各配列にいくつかのプロパティを割り当てたいと考えています。私はこれを除いてほとんど働いています...

オブジェクトのプロパティを出力すると、すべてが未定義になります。

ループの外側で単一のオブジェクトを作成し、それにプロパティを割り当てると、最初のプロパティ セットが次のように上書きされることを除いて、問題なく動作するようです。ループ内でオブジェクトを作成してプロパティを動的に割り当てることができない理由がわかりません。

0 投票する
4 に答える
549 参照

javascript - Javascriptでプロパティを繰り返し処理しているときに過度のネストを防ぐために、継続する場合は良いパターンですか?

私は通常、このパターンを使用してオブジェクト プロパティを反復処理します。

私はこの過度のインデントが好きではなく、最近、これを行うことでそれを取り除くことができると指摘されました:

余分なレベルのインデントが導入されないため、これが気に入っています。このパターンは大丈夫ですか、それとももっと良い方法がありますか?

0 投票する
4 に答える
2590 参照

javascript - 何のために....JavaScriptのステートメントで

for...in ステートメントを JavaScript で使用する方法は誰でも説明できます。w3school の記事を読んだことがありますが、あまり明確ではないと思います。以下にコードを示します。これについて説明してください。