が、これは私が実際に使用しているコードです:あなたが期待したようループの配列は 'remove'と読みますか?
for (iter in data.List) {
console.log(iter);
}
、ログはそれぞれの行の数を与える必要があります(0、1、2 ...)私の配列が唯一の誰もが今までにこれを3行
をencountredでしたことを知って
0
1
2
remove
:代わりに、それは私にこれを提供しますか?
が、これは私が実際に使用しているコードです:あなたが期待したようループの配列は 'remove'と読みますか?
for (iter in data.List) {
console.log(iter);
}
、ログはそれぞれの行の数を与える必要があります(0、1、2 ...)私の配列が唯一の誰もが今までにこれを3行
をencountredでしたことを知って
0
1
2
remove
:代わりに、それは私にこれを提供しますか?
基本的には、問題は、アレイを通じてiteratungのために意図されていないfor in
ループを、使用して、配列を反復処理しているということです。その目的は、オブジェクトのすべてのプロパティを反復することであり、配列にはremove
というプロパティがあるようです。
なぜfor in
が配列に関して悪い考えであるかの詳細については、Why is using "for...in" with array iteration a bad idea?を参照してください。
は解決策として、私は、インデックス付きfor
ループを使用することをお勧めしたいです。このタイプのループはプロパティを気にしないので、あなたは大丈夫です。だから、基本的にダウン非常に古典に来る:
for (var i = 0; i < data.List; i++) {
console.log(data.List[i]);
}
ところで:それはコンストラクタ関数でない限りあなたは、JavaScriptで何かを大文字べきではありません。したがって、である必要があります。
PS:それは配列と(誤って)それらを使用して良い読書、Fun with JavaScript Arrays、かなり良い読み取りを読んでください。
はい、それはJavaScriptでどのようにfor..in
作品です。すべてオブジェクトプロパティ(配列インデックスではありません)を列挙します。簡単な解決策:配列の上にfor..in
を使用しないでください。なぜならそれはそれが目的ではないからです。
リストを作成するコードを表示します。 –
私は、アレイ用in'のために 'を使用していないrecommandと思います(参照http://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-such-a-bad-idea ) –
私は読むことをお勧めします[ 'に関するMDNドキュメントを用... in'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) 。それは問題が何であるかを伝えます。 –