2013-04-26 8 views
8

私は、キー、値を持つオブジェクトからなる配列を持っていますcasteidの各オブジェクトをどのように反復することができますか?JavaScriptのオブジェクトの配列を反復する

[ 
    Object { 
     caste = "Banda", id = 4 
    }, 
    Object { 
     caste = "Bestha", id = 6 
    } 
] 
+0

反復するために分解することができますか?オブジェクトフィールドを反復処理しますか?どちらも? – TheBronx

+0

オブジェクトの配列を反復処理します。 – sasi

答えて

19

jQuery.each()を使用:プレーンJavaScriptでは

var array = [ 
 
    {caste: "Banda", id: 4}, 
 
    {caste: "Bestha", id: 6} 
 
]; 
 
    
 
$.each(array, function(key, value) { 
 
    console.log('caste: ' + value.caste + ' | id: ' +value.id); 
 
} 
 

 
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

でなければなりません。最初の要素から反復するたびに。 – sasi

+0

どうしますか?私はあなたが何を意味するのか分からなかった。 – RRikesh

+0

最初の反復のためにそれは私にbandaを与え、2回目の反復のために4はbandaと4、besthaと6を与えます。 – sasi

1
var array = [{caste: "Banda", id: 4}, {caste: "Bestha", id:6}]; 
var length = array.length; 
for (var i = 0; i < length; i++) { 
    var obj = array[i]; 
    var id = obj.id; 
    var caste = obj.caste; 
} 
6

例コード:

var list = [ 
 
    { caste:"Banda",id:4}, 
 
    { caste:"Bestha",id:6}, 
 
]; 
 
    
 
for (var i=0; i<list.length; i++) { 
 
    console.log(list[i].caste); 
 
}

それはちょうど配列なので、いつものようにそれを反復。

0

使用jQuery.each

$.each([your array of objects], function(index, value) { 
    // Do what you need, for example... 
    alert(index + ': ' + value); 
}); 
0

あなたが反復するためにjqueryのを使用することができます

1

FOR..IN使いのjQueryで何かで満たさ配列は、そのプロパティのオブジェクトを反復処理するために、$.eachを使用する反復処理するにはすべてのオブジェクトを通してjQueryはjqueryがコールバックするコールバック関数を埋め込むことを望みます。

$.each(dataList, function(index, object) { 
    $.each(object,function(attribute, value){ 
     alert(attribute+': '+value); 
    }); 
}); 

ドキュメント:http://api.jquery.com/jQuery.each/

+1

4行目は '' '}' '' ' –

2

最初の入力パラメータは、キーおよび第2の入力パラメータ値が与えられますあなたはこれを行うことができます:

var array = [{caste: "Banda", id: 4}, {caste: "Bestha", id:6}]; 

array.forEach(function(element, index) { 
    console.log(element.id+" "+element.caste); 
}); 

コールバック関数は、3番目のパラメータで呼び出され、配列は横断されます。 詳細はmore

したがって、jQueryライブラリをロードする必要はありません。

ご挨拶。

1

forEachループは、イテレーター関数を呼び出すときに、イテレーター関数と、オプションで "this"として使用する値を受け入れます。

var donuts = [ 
    { type: "Jelly", cost: 1.22 }, 
    { type: "Chocolate", cost: 2.45 }, 
    { type: "Cider", cost: 1.59 }, 
    { type: "Boston Cream", cost: 5.99 } 
]; 

donuts.forEach(function(theDonut, index) { 
    console.log(theDonut.type + " donuts cost $"+ theDonut.cost+ " each"); 
}); 

その後、それはまた、オブジェクトの配列の上にこの

var donuts = [ 
    { type: "Jelly", cost: 1.22 }, 
    { type: "Chocolate", cost: 2.45 }, 
    { type: "Cider", cost: 1.59 }, 
    { type: "Boston Cream", cost: 5.99 } 
]; 


function ShowResults(donuts) { 
    console.log(donuts.type + " donuts cost $"+ donuts.cost+ " each"); 
} 

donuts.forEach(ShowResults); 
関連する問題