2016-07-06 8 views
0

あなたからの助けが必要です。分割された文字列からオブジェクトを作成する必要があります。あなたに私のコードを説明して見せて、みんなが私を助けてくれることを願ってください。 だから、これはループの内側に私のconsole.log(d + " " + data[d])分割された文字列からオブジェクトを作成する

partnerX_row1_id  10101010 
partnerX_row10_id  79899899 

マイconsole.log(d.split('_') + data[d])

partnerX,row1,id  10101010 
partnerX,row10,id  79899899 
partnerX,row11,id  99999999 
partnerX,row1,name test13 
partnerX,row10,name test10 
partnerX,row11,name test1 
partnerY,row1,id  10101010 
partnerY,row10,id  79899899 
partnerY,row11,id  99999999 
partnerY,row1,name test12 
partnerY,row10,name test77 
partnerY,row11,name test889 

私の問題は、最終的な結果は次のようになりますがちょうど私すべきであるということであるであるである私の現在のコード

for(d in data){ 
    var item = d.split('_'); 
    console.log(item + " " + data[d]); 
    if(item[0] == 'partnerX'){ 
     //Rest of the code goes here 
    }else if(item[0] == 'partnerY'){ 
     //Rest of the code goes here 
    } 
} 

ですデータを適切にループする方法を見つけ出すことができず、それを配列にプッシュして配列をオブジェクトに変換するか、オブジェクトを直接作成します。これはliを表示しますこの1つ。

{ 
    "partnerx": { 
     "partnerx_row1" : { 
      "id": 3456788, 
      "name": "creditor 1" 
     }, 
     "partnerx_row10" : { 
      "id": 79899899, 
      "name": "test10" 
     }, 
     "partnerx_row11" : { 
      "id": 99999999, 
      "name": "test1" 
     } 
    }, 
    "partnery": { 
     "partnery_row1" : { 
      "id": 10101010, 
      "name": "test12" 
     }, 
     "partnery_row10" : { 
      "id": 79899899, 
      "name": "test77" 
     }, 
     "partnery_row11" : { 
      "id": 99999999, 
      "name": "test889" 
     } 
    } 
} 

私はあなたが私を助けることを願っています。追加情報が必要な場合は、私に知らせてください。事前にありがとう

+0

コードの開始時に 'data'の値を共有できますか? –

+0

が更新されました。基本的に分割前の値は文字列の下線にすぎません。その後、簡単な操作のために配列に下線文字列を分割しました –

+0

ごめんなさい、私の質問を編集し、更新されたデータがなくなってしまいました。私はそれを書き換えます –

答えて

1

ここにコードがあります。結果はobjに格納されます。

obj = {}; 
for(d in data) { 
    var item = d.split('_'); 
    item[0] = item[0].toLowerCase(); 
    if (obj[item[0]] == undefined) { 
     obj[item[0]] = {}; 
    } 
    if (obj[item[0]][item[0] + "_" + item[1]] == undefined) { 
     obj[item[0]][item[0] + "_" + item[1]] = {}; 
    } 
    obj[item[0]][item[0] + "_" + item[1]][item[2]] = data[d]; 
} 
+0

素敵!!!ありがとう。それは何時間も私を悩ましていた! –

関連する問題