2016-10-06 3 views
0

簡単な質問 私はハッシュテーブルを持っており、各キーにはサブジェクトとクエリという2つの部分に分かれたオブジェクトがあります。 私はクエリとサブジェクトの値を取得しようとしていますが、私は傾けません。私が得るのは未定義です。 どうすれば値を取得できますか?JavaScriptからハッシュテーブルの情報を取得する

function IntersectGroups(keyToGeneDetailMappingGroupArray) { 

    allKeys = CreateSetWithAllKeys(keyToGeneDetailMappingGroupArray); 

    var numElements = Math.pow(2, keyToGeneDetailMappingGroupArray.length); 

    var results1= new Array(numElements); 
    for (var j = 0; j < results.length; j++) 
    { 

     results1[j] = 0; 
    } 


    // Run for every key (for all groups) 
    for (var currentKey in allKeys.items) 
    { 

     var linescontent=""; 
     var index = 0; 

     // Run for every group 
     for (var k = 0; k < keyToGeneDetailMappingGroupArray.length; k++) 
     { 
      var isGroupContained = keyToGeneDetailMappingGroupArray[k].hasItem(currentKey); 

      if (isGroupContained) 
      { 
       //Not relevent: Watch the data structures: sumElements += keyToGeneDetailMappingGroupArray[k].getItem(currentKey).length; 
       sumElements += 1; 
       linescontent += currentKey.Query;//I get undefined 
       index += Math.pow(2, k); 
      } 
     } 

     results1[index] += linescontent; 
    } 
    return results1; 
} 

データ例

Query Subject 

Crella_elegansContig_3 tr|Q8BUQ6|Q8BUQ6_MOUSE 
Crella_elegansContig_10 sp|Q8CHY3-2|DYM_MOUSE 
Crella_elegansContig_14 sp|Q9R1L5|MAST1_MOUSE 
Crella_elegansContig_16 sp|Q8BGZ4-2|CDC23_MOUSE 
Crella_elegansContig_26 sp|Q9CPS6|HINT3_MOUSE 
Crella_elegansContig_29 sp|Q8BP67|RL24_MOUSE 
Crella_elegansContig_31 sp|A3FIN4-2|AT8B5_MOUSE 
Crella_elegansContig_32 tr|E9PZX7|E9PZX7_MOUSE 
Crella_elegansContig_33 sp|Q6P7W0|SENP6_MOUSE 

enter image description here

+0

データと関数ヘッダーと関数の呼び出しを追加してください。 –

+1

こちらをご覧ください:[mcve] –

答えて

1

あなたはresults1にあなたの情報を追加するように見えるが、あなたは不定になりresultsを戻ってきています。

+0

申し訳ありませんが、私の悪いです。私の質問を編集しました。 これは問題ではない – badbuda

+0

まだ未定義に戻っていますか?そうであれば、比較するデータを投稿することができますか –

0
for (var currentKey in allKeys.items) { 
    /* ... */ 
       linescontent += currentKey.Query;//I get undefined 

for .. inallKeys.itemsオブジェクト(プロトタイプ)のcurrentKeyキーを設定します。配列であっても、個々のアイテムではなく、アイテムのインデックスに設定され、常に文字列になります。

すべてのKeys.itemsが実際にどのように見えるかを示す情報はありませんが、要素を反復処理する予定がある場合は、for (var currentKey of allKeys.items)(es2015環境が必要)またはfor (var i of allKeys.items) { var currentKey = allKeys.items[i]; /* ... */ }を使用してください。

関連する問題