2013-04-26 16 views
8

Sto avendo una matrice che consiste degli oggetti con una chiave, valore come possiamo iterare ogni oggetto per caste e id.Iterating Array of Objects in javascript

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

iterate sulla matrice di oggetti? scorrere su campi oggetto? entrambi? – TheBronx

+0

itera su una serie di oggetti. – sasi

risposta

19

Utilizzando jQuery.each():

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

ogni volta che itera dal primo elemento .. – sasi

+0

Come? Non ho capito cosa volevi dire. – RRikesh

+0

per la prima iterazione che mi dà banda e 4 per la seconda iterazione di nuovo dà banda e 4, bestha e 6 del genere .. – 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

codice Esempio:

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

È solo un array, quindi, scorrere su di esso come sempre.

0

Uso jQuery.each:

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

per iterare su un array pieno di roba in jQuery utilizzare $.each, per iterare su un oggetto per le sue proprietà usare for..in

1

è possibile utilizzare jQuery per iterare attraverso tutti gli oggetti jQuery ti chiede di riempire una funzione di callback, che jquery richiamerà. Il primo parametro di ingresso sarà data la chiave e il secondo parametro di ingresso il valore:

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

documentazione: http://api.jquery.com/jQuery.each/

+1

La quarta riga dovrebbe essere '' '});' '' –

2

In pianura JavaScript puoi fare questo:

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

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

La funzione di callback viene chiamata con un terzo parametro, la matrice viene attraversata. Per imparare more!

Quindi, non è necessario caricare la libreria jQuery.

Saluti.

1

Il ciclo forEach accetta una funzione iteratore e, facoltativamente, un valore da utilizzare come "this" quando si chiama la funzione iteratore.

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"); 
}); 

Successivamente può anche essere scomposti in questo

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);