2016-11-22 22 views
0
"info": { 
    "core": [{ 
     "name": "User", 
     "fields": [{ 
      "field": "name", 
     }, { 
      "field": "age", 
     }] 
    }, { 
     "name": "Post", 
     "fields": [{ 
      "field": "title", 

     }, { 
      "field": "body", 
     }, { 
      "field": "author", 
     }] 
    }] 
} 

どのように構造データをマップできますか。オブジェクト内の配列内のLodashマップ配列

1.

  • 名前値
  • フィールド
    • フィールド値
    • フィールド値

2:私は、Webビュー上でこのような何かを達成したいです。

  • 名前値
  • フィールド
    • フィールド値
    • フィールド値

のように...

は、私は次のようになりlodashマップを使用してみましたこれらは良い方法ですか?

const info = _.map(info.core, function (value: any) { 
    const fields = _.map(value.fields, function (fields: any) { 
    return field; 
    }); 

    const demo = { 
    name: name, 
    fields: fields.join('') 
    }; 

    return demo; 
}); 

console.log(demo); 

答えて

1

マップする必要があるのはなぜか分かりません。たぶん私はその質問を誤解しているのかもしれない。

このデータをレンダリングしてそのまま解析する場合は、それ以上の変換は必要ありません。私は簡単にするためのdocument.writeを使用しましたが、良い方法が感謝

var info = { 
 
    "core": [{ 
 
     "name": "User", 
 
     "fields": [{ 
 
      "field": "name", 
 
     }, { 
 
      "field": "age", 
 
     }] 
 
    }, { 
 
     "name": "Post", 
 
     "fields": [{ 
 
      "field": "title", 
 

 
     }, { 
 
      "field": "body", 
 
     }, { 
 
      "field": "author", 
 
     }] 
 
    }] 
 
} 
 

 
var w = document.write.bind(document); 
 

 
info.core.forEach((c,i) => { 
 
    w(`<p>${i+1}.</p>`); 
 
    w('<ul>'); 
 
    w(`<li>${c.name}</li>`); 
 
    w('<li>fields'); 
 
    w('<ul>'); 
 
    c.fields.forEach((f) => { 
 
    w(`<li>${f.field}</li>`); 
 
    }); 
 
    w('</ul>'); 
 
    w('</li>'); 
 
    w('</ul>'); 
 
});

+0

などのcreateElementと直接DOMを操作することであろう以下

。解決済み。 –

関連する問題