我像这样填充我的键值数组:
/**
* 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.必定有问题。任何帮助非常感谢
答案 0 :(得分:3)
您可以使用以下方式获取对象键的数量:
Object.keys(obj).length
Object.keys()
返回作为第一个参数传递的对象的键数组。然后,您将访问该阵列的.length
。