2010-12-07 14 views
0

JSON文字列があるので、解析して内容を警告するつもりです。JSON文字列を解析してループするときの余分な値

var json_string = '[1,2,3,4,5]'; 
var parsed_string = JSON.parse(json_string); 
for(x in parsed_string) alert(x) 

は、しかし、私は、5つの要素を取得しないだけでなく、私は余分なCRUDの全体の束を取得し、私はのために要求していない... $コンストラクタ、$ファミリーを、追加、仲間、等...

これらの余分な値を使わずにこの配列を反復処理する方法はありますか?

:私は後で、parsed_string.lengthが繰り返し処理するための適切な配列の長さを返すことに気づいた。

答えて

2

for inすべての列挙可能オブジェクトプロパティのループ。 Javascriptの配列の場合、配列インスタンスに追加したすべての要素、すべてのメソッド/属性、またはプロトタイプチェーン内の任意のオブジェクトです。

これは、ループスルー配列にfor ;;;を使用する単一の理由の1つです。

var json_string = '[1,2,3,4,5]'; 
var parsed_string = JSON.parse(json_string); 
for(var i=0;i<parsed_string.length;i++) alert(parsed_string[i]); 
+0

ヘイマット - クイック返信ありがとうございます。私はPHPで長すぎるコーディングをしていて、foreach()であまりにも快適になりました。 :) –

2

次のようなJavaScriptオブジェクトをループする必要があります

for (var key in obj) { 
    if (obj.hasOwnProperty(key)) { 
     alert(obj[key]); 
    } 
} 

.hasOWnProperty()keyで指定されたプロパティが継承されていないことを保証します。しかし、ここでは配列を扱っています:

for (var i = 0; i < arr.length; i++) { 
    alert(arr[i]); 
} 
関連する問題