2017-09-11 7 views
1

私は1回のみループしたい、またはforループで指定した時間ループしたい。for(データをキー入力)ループを1回以上javacriptで

私は非常に大きなJSONを持っており、構造は次のようである:

{ 
    "-item1" : { 
    "added_by" : "[email protected]", 
    "id" : "-KlxUo5HGr7sdEsgEea1", 
    "name" : "Apivita" 
    }, 
    "-item2" : { 
    "added_by" : "[email protected]", 
    "id" : "-KlxUq4SgTfefuAB2XH1", 
    "name" : "Lierac" 
    }, 
    "-item3" : { 
    "added_by" : "[email protected]", 
    "id" : "-KlxUs1I3P7z2YDFtQPh", 
    "name" : "Bioderma" 
    } 
} 

どのようにループに一度だけか?

// get the object key 
for(var key in data) { 
    var value = data[key]; 
} 

私はitem1オブジェクトデータのみを必要とします。 または最初の5項目 は簡単ですか?

+1

を使用達成しようとしている?最初のアイテムにのみアクセスしますか? – kangaro0

+4

"一度ループする"場合は、* loop *したくありません。 – deceze

+0

指定したアイテム(* '*' -item3'など)のプロパティのみにアクセスしますか? –

答えて

2

var counter = 0; 
 
var limit = 3; 
 
var data = [1, 2, 3, 4, 5, 6, 7]; 
 
for (var key in data) { 
 
    var value = data[key]; 
 
    console.log('key: ' + key + ' --> value: ' + value); 
 
    if (++counter >= limit) break; 
 
}

+0

ご協力いただきありがとうございます –

1

以下のようなものを試して、特定の価値だけを得ることができます。

最初の5つの値を取得する場合は、次のコードをチェックします。

カウンターが限界に達した場合は、単純にカウンタを追加し、ループを終了することができます
// get the object key 
var keyVal=1; 
for(var key in data) { 
    if(keyVal <= 5){ 
    var value = data[key];   
    } 
    keyVal++; 
} 
+0

ありがとうございました –

+0

この(明らかにテストされていない)コードは動作しません。 '> = 5'なら' keyVal'だけインクリメントしますので、基本的にインクリメントしません。 –

+0

@PeterB更新されたものを確認してください。 –

0

をちょうどあなたは何この

var start = 0; 
var end = 0; 
for(var i = start; i<end; i++){ 
    var value = data["-item"+i] 
} 
+0

ありがとうございました –

関連する問題