2017-04-06 10 views
1

だから私は、この形式のデータを持っているオブジェクトがあります。変更オブジェクト形式

{key1: val1, key2: val2} 

をそして私は何とか、以下のようなものに変換したい:

{first: {key1:[], val1:[]}, 
second: {key2:[], val2:[]} }; 

私は

object = {key1: val1, key2: val2}; 
var array = {}; 
var cc=0; 
for (var prop in object){ 
    var ob_prop = object[prop]; 
    if(cc) array['first'] = {prop:[], ob_prop:[]}; 
    else array['second'] = {prop:[],ob_prop:[]}; 
    cc++; 
} 
をやってみました

代わりに私は

{ second: { prop: [], ob_prop: [] }, 
first: { prop: [], ob_prop: [] } } 
+0

を私がダウン投票された理由を理解しない、私は私が望むものを明確に説明し、私が試してみました。 – nonerth

+0

ソースオブジェクトとそのオブジェクトから取得したいものを追加してください。 –

+1

私は、投票が、研究の欠如のためかもしれないと思うでしょう。投稿はトピックを徹底的に調査し、あなたが試したものや見つけたものを投稿する必要があります。あなたの投稿に関しては、答えが非常に簡単に見つかる可能性があるので、質問は投票された可能性があります。あなたのコメントを支持して、私は人々がコメントを残すべきだと思います。だからここにあなたのための投票があります。 – SoEzPz

答えて

1

フェリックスクリングのコメントで述べたように、試してみてください。array['first'] = {[prop]:[], [ob_prop]:[]};

+0

これはコンパイルエラーにつながりますが、自然にはundefinedのkey1プロパティを設定できません。 – nonerth

+3

OPが 'for/of'ループを使用できると仮定すると、計算されたプロパティを使用するほうが、おそらくもっと簡単な解決策になります:' {[prop]:[]、[ob_prop]:[]} '。 –

+0

ありがとうございました。私が追加しなければならなかったのは、 '['、 ']'で動作するので、実際には '{prop:[]、ob_prop:[]}の代わりに、 - ['[prop]:[]、[ob_prop]:[]}' – nonerth