簡體   English   中英

Lodash在對象數組中的Map數組

[英]Lodash Map array inside array in object

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

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

我如何映射這些結構數據。 我想在網絡視圖上實現以下目標:

1。

  • 名稱值
  • 領域
    • 欄位值
    • 欄位值

2。

  • 名稱值
  • 領域
    • 欄位值
    • 欄位值

等等...

我嘗試使用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);

不知道為什么你甚至需要映射。 也許我誤會了這個問題。

如果要渲染此數據,只需按原樣解析,就不需要任何其他轉換。

下面,我只是為了簡單起見使用document.write,但是更好的方法是直接使用createElement等操作DOM。

 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>'); }); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM