In JavaScript wird häufig ein Objekt als Ersatz für ein assoziatives Array verwendet. Daraus ergibt sich die Problematik, dass die Anzahl der Elemente eines Objekts nicht ohne Weiteres ermittelt werden kann. Abhilfe schafft der folgende Code:
var oTestObject = new Object();
oTestObject['element1'] = "Wert1";
oTestObject['element2'] = "Wert2";
oTestObject['element3'] = "Wert3";
oTestObject['element4'] = "Wert4";
Object.getLength = function(oTmpObject)
{
var iLength = 0;
for (var sKey in oTmpObject)
{
if (oTmpObject.hasOwnProperty(sKey)) iLength++;
}
return iLength;
};
//Anzahl der Elemente ermitteln
var iLength = Object.getLength(oTestObject); //4
oTestObject['element1'] = "Wert1";
oTestObject['element2'] = "Wert2";
oTestObject['element3'] = "Wert3";
oTestObject['element4'] = "Wert4";
Object.getLength = function(oTmpObject)
{
var iLength = 0;
for (var sKey in oTmpObject)
{
if (oTmpObject.hasOwnProperty(sKey)) iLength++;
}
return iLength;
};
//Anzahl der Elemente ermitteln
var iLength = Object.getLength(oTestObject); //4
Demo: