1

キー値配列を次のように入力します。

/**
 * 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);
}

Google Chrome インスペクタによると、約 300 のキーと値のペアを追加すると、iStringMap正しく入力されます。ただし、配列の長さはまだ 0 のようです。何か問題があるに違いありません。どんな助けでも大歓迎です

4

1 に答える 1

3

以下を使用して、オブジェクト キーの数を取得できます。

Object.keys(obj).length

Object.keys()最初のパラメータとして渡されたオブジェクトのキーの配列を返します。その後、.lengthその配列の にアクセスしています。

于 2012-11-23T07:27:26.847 に答える