javascript - icon - title html
Encontrar el número de claves en un objeto (4)
Posible duplicado:
¿Cómo contar de manera eficiente el número de claves / propiedades de un objeto en JavaScript?
var values = [{
''SPO2'': 222.00000,
''VitalGroupID'': 1152,
''Temperature'': 36.6666666666667,
''DateTimeTaken'': ''/Date(1301494335000-0400)/'',
''UserID'': 1,
''Height'': 182.88,
''UserName'': null,
''BloodPressureDiastolic'': 80,
''Weight'': 100909.090909091,
''TemperatureMethod'': ''Oral'',
''Resprate'': null,
''HeartRate'': 111,
''BloodPressurePosition'': ''Standing'',
''VitalSite'': ''Popliteal'',
''VitalID'': 1135,
''Laterality'': ''Right'',
''HeartRateRegularity'': ''Regular'',
''HeadCircumference'': '''',
''BloodPressureSystolic'': 120,
''CuffSize'': ''XL''
}];
for (i=0; i < values.length; i++) {
alert(values.length) // gives me 2.
¿Cómo puedo encontrar cuántas llaves tiene mi objeto?
Puedes iterar y solo contar:
var i = 0;
for(var key in values[0]) if(values[0].hasOwnProperty(key)) i++;
// now i is amount
tratar
Object.keys(values).length
consulte: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys
por compatibilidad
if(!Object.keys) Object.keys = function(o){
if (o !== Object(o))
throw new TypeError(''Object.keys called on non-object'');
var ret=[],p;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)) ret.push(p);
return ret;
}
o usar:
function numKeys(o){
var i=0;
for(p in o) if(Object.prototype.hasOwnProperty.call(o,p)){ i++};
return i;
}
function numKeys(o) {
var res = 0;
for (var k in o) {
if (o.hasOwnProperty(k)) res++;
}
return res;
}
o, en los navegadores más nuevos:
function numKeys(o) {
return Object.keys(o).length;
}
En su ejemplo, los values
son una matriz con un elemento, por lo que debería llamar a numKeys(values[0])
para averiguarlo.
var value = {
''SPO2'': 222.00000,
''VitalGroupID'': 1152,
''Temperature'': 36.6666666666667,
''DateTimeTaken'': ''/Date(1301494335000-0400)/'',
''UserID'': 1,
''Height'': 182.88,
''UserName'': null,
''BloodPressureDiastolic'': 80,
''Weight'': 100909.090909091,
''TemperatureMethod'': ''Oral'',
''Resprate'': null,
''HeartRate'': 111,
''BloodPressurePosition'': ''Standing'',
''VitalSite'': ''Popliteal'',
''VitalID'': 1135,
''Laterality'': ''Right'',
''HeartRateRegularity'': ''Regular'',
''HeadCircumference'': '''',
''BloodPressureSystolic'': 120,
''CuffSize'': ''XL''
};
alert(Object.keys(value).length);