2016-11-07 12 views
0

こんにちは、私は次のように変換アレイ構造

tableGroup=["fk_type1":[{typeID:"1",name:"xxxxx"},{typeID:"1",name:"aaaaa"},{typeID:"1",name:"bbbbb"}], 
"fk_type2":[{typeID:"2",name:"ccccc"},{typeID:"2",name:"ddddd"},{typeID:"2",name:"fffff"}], 
"fk_type3":[{typeID:"3",name:"ttttt"},{typeID:"3",name:"yyyyy"}], 
"fk_type4":[{typeID:"4",name:"zzzzz"},{typeID:"4",name:"hhhhh"}]] 

updation 私のコンポーネントがある形式にフォーマット

tableValue= [{typeID:"1",name:"xxxxx"}, 
    {typeID:"1",name:"aaaaa"}, 
    {typeID:"1",name:"bbbbb"}, 
    {typeID:"2",name:"ccccc"}, 
    {typeID:"2",name:"ddddd"}, 
    {typeID:"2",name:"fffff"}, 
    {typeID:"3",name:"ttttt"}, 
    {typeID:"3",name:"yyyyy"}, 
    {typeID:"4",name:"zzzzz"}, 
    {typeID:"4",name:"hhhhh"}] 

からの配列を変換したい:

createTableValues() { 
    let groups = {}; 
    tableValue.forEach(item => { 
     if (tableGroup[item.typeID]) { 
     tableGroup[item.typeID].push(item); 
     } else { 
     tableGroup[item.typeID] = [{ 'fk_type'+item.typeID }]; 
     } 
    }); 
    } 

事前に感謝

+0

あなたがこれまでに何をやったか:)私@aruna – L01c

答えて

1

予想されるものが有効な配列ではありません。

それは、このようにする必要があり

{"fk_type1":[{typeID:"1",name:"xxxxx"},{typeID:"1",name:"aaaaa"},{typeID:"1",name:"bbbbb"}], 
"fk_type2":[{typeID:"2",name:"ccccc"},{typeID:"2",name:"ddddd"},{typeID:"2",name:"fffff"}], 
"fk_type3":[{typeID:"3",name:"ttttt"},{typeID:"3",name:"yyyyy"}], 
"fk_type4":[{typeID:"4",name:"zzzzz"},{typeID:"4",name:"hhhhh"}]} 

そしてコードがあり、

var items = [{typeID:"1",name:"xxxxx"}, 
 
{typeID:"1",name:"aaaaa"}, 
 
{typeID:"1",name:"bbbbb"}, 
 
{typeID:"2",name:"ccccc"}, 
 
{typeID:"2",name:"ddddd"}, 
 
{typeID:"2",name:"fffff"}, 
 
{typeID:"3",name:"ttttt"}, 
 
{typeID:"3",name:"yyyyy"}, 
 
{typeID:"4",name:"zzzzz"}, 
 
{typeID:"4",name:"hhhhh"}]; 
 

 
var output = {}; 
 
var key = 'fk_type'; 
 

 
items.forEach(function(item){ 
 
    var typeID = item.typeID; 
 
    if(!output[key + typeID]) { 
 
    output[key + typeID] = []; 
 
    } 
 
    
 
    output[key + typeID].push(item); 
 
}); 
 

 
console.log(output);

+0

おかげで私たちを表示します問題が解決しました – sainu