I have this array of object, how can I loop through it using jQuery.each()?
Array ( [0] => stdClass Object ( [id] => 1 [parent_cat_id] => 1 [child_cat_name] => Java [status] => 1 [date] => 2016年09月11日 01:26:00 ) [1] => stdClass Object ( [id] => 2 [parent_cat_id] => 1 [child_cat_name] => JavaScript [status] => 1 [date] => 2016年09月11日 01:26:00 ) [2] => stdClass Object ( [id] => 3 [parent_cat_id] => 1 [child_cat_name] => HTML [status] => 1 [date] => 2016年09月11日 01:26:00 ) [3] => stdClass Object ( [id] => 4 [parent_cat_id] => 1 [child_cat_name] => PHP [status] => 1 [date] => 2016年09月11日 01:26:00 ) [4] => stdClass Object ( [id] => 5 [parent_cat_id] => 1 [child_cat_name] => Python [status] => 1 [date] => 2016年09月11日 01:26:00 ) [5] => stdClass Object ( [id] => 6 [parent_cat_id] => 1 [child_cat_name] => Ruby [status] => 1 [date] => 2016年09月11日 01:26:00 ) )
I am trying to use this -
$.each( data, function( key, value ) {
console.log( value );
});
Which giving me following error -
TypeError: invalid 'in' operand e
asked Sep 14, 2016 at 18:30
Simon Gomes
3831 gold badge5 silver badges18 bronze badges
3 Answers 3
Your array has strange formatting. See this example:
var data = [
{text: "hello"},
{text: "good bye"},
{text: "Hello again"}
]
$.each( data, function( key, value ) {
console.log( value.text );
});
answered Sep 14, 2016 at 18:41
Darin Cardin
7571 gold badge4 silver badges10 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
I suggested you to use forEach instead. jQuery.each method has another goal.
data.forEach(function(entry) {
//Your logic.
});
Comments
Your jQuery.each syntax is correct, but As Karl-André Gagnon mentioned, that is the output of a PHP array.
Pass your array through json_encode before sending it to the front-end.
answered Sep 14, 2016 at 18:44
Ben Harrison
2,2395 gold badges27 silver badges41 bronze badges
4 Comments
Simon Gomes
Yes I know I can pass is it using
json_encode, but I want to keep my data like this so it is suitable for normal php loops.user400654
@Simon you can't do both.
Ben Harrison
@Simon, what I mean is pass it through
json_encode as you're passing it to the client-side. You don't have to convert it permanently.Simon Gomes
Thank you guys, I will think about it.
Explore related questions
See similar questions with these tags.
lang-js
console.log(data)