键值样式javascript数组的长度保持为0

时间:2012-11-23 07:24:47

标签: javascript

我像这样填充我的键值数组:

/**
 * Callback: Gets invoked by the server when the data returns
 * 
 * @param {Object} aObject
 */
function retrieveStringsFromServerCallback(aObject){

   for(var i = 0;i < aObject['xml'].strings.appStringsList.length;i++){
      var tKey = aObject['xml'].strings.appStringsList[i]["@key"];      
      var tValue = aObject['xml'].strings.appStringsList[i]['$'];
      configManager.addStringElement(tKey,tValue);

   }
}

这是我的对象的设置者

/**
 * @param {string} aKey
 * @param {string} aValue
 */
this.addStringElement = function(aKey, aValue){
    self.iStringMap[aKey] = aValue;
    console.log("LENGTH: "+self.iStringMap.length);
}

我添加了大约300个键值对,根据Google Chrome检查器,iStringMap已正确填充。然而,数组的长度似乎仍然是0.必定有问题。任何帮助非常感谢

1 个答案:

答案 0 :(得分:3)

您可以使用以下方式获取对象键的数量:

Object.keys(obj).length

Object.keys()返回作为第一个参数传递的对象的键数组。然后,您将访问该阵列的.length