Reputation: 4318
I am having an array that consists the objects with a key, value how can we iterate each object for caste
and id
.
[
Object {
caste = "Banda",
id = 4
},
Object {
caste = "Bestha",
id = 6
}
]
Upvotes: 22
Views: 90631
Reputation: 33984
Arrow functions are modern these days
Using jquery $.each with arrow function
var array = [
{caste: "Banda", id: 4},
{caste: "Bestha", id: 6}
];
$.each(array, ( key, value ) => {
console.log('caste: ' + value.caste + ' | id: ' +value.id);
});
Using forEach with arrow function
array.forEach((item, index) => {
console.log('caste: ' + item.caste + ' | id: ' +item.id);
});
Using map with arrow function. Here map returns a new array
array.map((item, index) => {
console.log('caste: ' + item.caste + ' | id: ' +item.id);
});
Upvotes: 4
Reputation: 11873
Example code:
var list = [
{ caste:"Banda",id:4},
{ caste:"Bestha",id:6},
];
for (var i=0; i<list.length; i++) {
console.log(list[i].caste);
}
It's just an array, so, iterate over it as always.
Upvotes: 15
Reputation: 14381
Using 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>
Upvotes: 40
Reputation: 21
The forEach loop accepts an iterator function and, optionally, a value to use as "this" when calling that iterator function.
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");
});
Subsequently it can also be broken down to this
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);
Upvotes: 2
Reputation: 11661
you can use jquery to iterate through all the objects jQuery wants you to fill a callback function, which jquery will call back. The first input parameter will be given the key and the second input parameter the value:
$.each(dataList, function(index, object) {
$.each(object,function(attribute, value){
alert(attribute+': '+value);
});
});
documentation: http://api.jquery.com/jQuery.each/
Upvotes: 1
Reputation: 318
In plain JavaScript you can do this:
var array = [{caste: "Banda", id: 4}, {caste: "Bestha", id:6}];
array.forEach(function(element, index) {
console.log(element.id+" "+element.caste);
});
The callback function is called with a third parameter, the array being traversed. For learn more!
So, you don't need to load jQuery library.
Greetings.
Upvotes: 11
Reputation: 3106
To iterate over an array filled with stuff in jQuery use $.each, to iterate over an Object for its properties use for..in
Upvotes: 0
Reputation: 1831
Use jQuery.each:
$.each([your array of objects], function(index, value) {
// Do what you need, for example...
alert(index + ': ' + value);
});
Upvotes: 0
Reputation: 4801
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;
}
Upvotes: 4