To explain a bit further: when you do `for (key in obj)`, key is bound to
each of the object keys, not their values. So, key will be:
'prop01',
'prop02',
'prop03',
'prop04',
'prop05',
'prop06'
(but don't count on the order, it's not implementation defined)
Then when you do obj_1['prop01'] you get 'PROP-01'.
If you use underscore, you can iterate of the keys *and* values with an
iterator function, like so:
_.each(obj_1, function (key, value) {
console.log(key);
if (typeof value === 'function') {
console.log(value());
}
else {
console.log(value);
}
});
It's a bit of extra overhead but I'd argue that it's much cleaner and
clearer.
Cheers!
Nick
On 1 December 2011 03:44, Jarek Foksa <[email protected]> wrote:
> Inside the for loop you should be checking whether :
>
> typeof obj_1[pro] === 'function'
>
> not whether:
>
> typeof pro === 'function'
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/[email protected]/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/[email protected]/
>
> To unsubscribe from this group, send email to
> [email protected]
>
--
Nick Morgan
http://skilldrick.co.uk
@skilldrick
Save our in-boxes! http://emailcharter.org
--
To view archived discussions from the original JSMentors Mailman list:
http://www.mail-archive.com/[email protected]/
To search via a non-Google archive, visit here:
http://www.mail-archive.com/[email protected]/
To unsubscribe from this group, send email to
[email protected]