Suppose I have the following object in JavaScript:
var object = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
};
How do I find out how many values exist in the object?
Suppose I have the following object in JavaScript:
var object = {
"key1": "value1",
"key2": "value2",
"key3": "value3"
};
How do I find out how many values exist in the object?
EDIT: this will case errors with jquery to happen, plus some other inconveniences. YOU SHOULD NOT USE IT: (perhaps if one could add a privaate method instead of a public property function, this would be OK, but don't have the time now). Community wikied
do not use:
Even though javascript's object by default doesn't have the count function, classes are easily extendable, and one can add it oneself:
Object.prototype.count = function () {
var count = 0;
for(var prop in this) {
if(this.hasOwnProperty(prop))
count = count + 1;
}
return count;
}
So that after that one can execute
var object = {'key1': 'val1', 'key2':'val2', 'key3':'val3'};
console.log(object.count()); // 3
As a conclusion, if you want count functionality in objects, you need to copy the code from code block 1, and paste it early in execution time ( before you call the count ).
Let me know if that works for you!
Regards, Pedro
Although it wouldn't be a "true object", you could always do something like this:
var foo = [
{Key1: "key1"},
{Key2: "key2"},
{Key3: "key3"}
];
alert(foo.length); // === 3